Commit Graph
15331 Commits
Author SHA1 Message Date
hugocasaandClaude Opus 5.5 2852192179 fix: follow a non-member superadmin's instance username on the OAuth accounts they created
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 10:17:36 +02:00
hugocasaandClaude Opus 5.5 221ad12125 fix: keep an oauth account's creator in step with the user's username
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 10:17:36 +02:00
hugocasaandClaude Opus 5.5 c289d1bf12 test: cover a permitted relink through a variable update
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 10:17:36 +02:00
hugocasaandClaude Opus 5.5 83ec52168f test: cover relinking an oauth account through a variable update
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 10:17:36 +02:00
hugocasaandClaude Opus 5.5 4818bac55f fix: drop an oauth account link the caller may not hold instead of failing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 10:17:36 +02:00
hugocasaandClaude Opus 5.5 38e26d791a fix: only let an oauth account's creator or readers link it to a variable
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 10:17:36 +02:00
5d0a8a9c15 fix(mcp): escape JSON inlined in the MCP OAuth callback page (#11880)
* fix(mcp): escape JSON inlined in the MCP OAuth callback script

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to dd0c7087f9b2453260f3d73b0d589042b4393a1d

This commit updates the EE repository reference after PR #900 was merged in windmill-ee-private.

Previous ee-repo-ref: b8384a2346c2c228ac645e3209a04b1f08627278

New ee-repo-ref: dd0c7087f9b2453260f3d73b0d589042b4393a1d

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-19 23:22:00 +02:00
GuilhemandClaude Opus 5.5 24238d4062 fix: align collapsed conversations sidebar chat icon with the buttons above (#11873)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 23:20:14 +02:00
AlexRV12andRuben Fiszel 4186ffff84 fix: spell the schedule pause time the way the picker writes it (#11875)
* fix: make the schedule editor's saved baseline reactive

* fix: spell the schedule pause time the way the picker writes it

* fix: read a zone-less naive date-time as wall-clock time

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-19 23:19:38 +02:00
4c254c60ed chore: read the caller once in workspace settings handlers (#11881)
* chore: read the caller once in workspace settings handlers

* chore: update ee-repo-ref to bfbf9154df83c5256a35181fc9ea3b715b66c35f

This commit updates the EE repository reference after PR #901 was merged in windmill-ee-private.

Previous ee-repo-ref: 6fbcc79cdd5bb30b362ae2a44e651ede66830ee3

New ee-repo-ref: bfbf9154df83c5256a35181fc9ea3b715b66c35f

Automated by sync-ee-ref workflow.

---------

Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2026-10-19 23:18:23 +02:00
GuilhemandClaude Opus 5.5 1874808470 fix: align sidebar home with the header when ai sessions is off (#11882)
* fix: align sidebar home with the header when ai sessions is off

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* refactor: share the sidebar switch row condition

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 23:16:37 +02:00
35b250e767 feat: let AI agents answer in Slack (#11630)
* feat: let AI agents answer in Slack

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: dedupe Slack deliveries by message and route only connected workspaces

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: key Slack conversations with the workspace secret and require signed Slack requests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep a named agent on its thread after an empty question and flag a missing Slack signing secret

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: register the slack_agents token scope domain

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: name the Slack bot, offer Slack only for chat agents, align the agent API tab with webhooks

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: warn when Slack can't be reached instead of showing a placeholder bot name

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: chat SDK, streaming examples and a copyable integration prompt on the agent API tab

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep the base path in the chat SDK example, list slack_agents token scopes, bound the bot name lookup

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: opt into the AI agent Slack scopes at connect, store the signing secret in instance settings, surface the integration prompt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: dispatch Slack agents only on a verified request, warn when the connection lacks the agent scopes, register the callback redirect URLs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: point the agent chat examples at @windmill-labs/chat-sdk

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: build the agent API examples on the configured API base URL

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: say that a channel's default agent takes its /windmill commands

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: list the channels answered by an agent in the workspace Slack settings

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* refactor: keep the Slack signing secret in SLACK_SIGNING_SECRET, warn at connect when it is missing, move the integration prompt to a tab

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: wrap copyable code blocks at word boundaries

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: open the agent panel on its API tab, put the AI prompt first, list channels like the critical alert channels, cap the manifest's height

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: group the agent API examples by AI prompt, TypeScript and HTTP, with React and framework-free chat SDK examples

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: have the agent integration prompt read the token from WINDMILL_TOKEN

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: trim the agent API tab intro, name the Slack app in mentions, define the SDK example's output

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: share agents in selected Slack channels, run as their identity

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: share agents in Slack channels with anyone or workspace members only

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: set who can ask an agent in Slack and its channels from its settings

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: treat a missing Slack audience as workspace members

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: list Slack channels before who can ask, name the run-as user in each choice

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: name the next deploy's run-as user in Slack choices, turn agents on by default when connecting

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: answer agents on mentions only, group agent settings into sections

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: show how to ask an agent in Slack first, keep agent scopes opt-in

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: list agents shared in Slack in a setting card and table

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 10bc314c95094c0851743cbca31b50a3b37d42fd

This commit updates the EE repository reference after PR #865 was merged in windmill-ee-private.

Previous ee-repo-ref: 47d8fbac461171bd93d888b49cc1c7730a2b3f96

New ee-repo-ref: 10bc314c95094c0851743cbca31b50a3b37d42fd

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-19 23:16:17 +02:00
GuilhemandClaude Opus 5.5 7d01d252b5 feat: name the action on chat tool confirmation buttons (#11795)
* feat: name the action on chat tool confirmation buttons

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix: size chat confirmation footer buttons with unifiedSize and the UI font

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-19 23:13:53 +02:00
Guilhem ed589963f4 fix: keep the flow chat mounted when leaving the chat tab (#11872) 2026-10-19 23:13:29 +02:00
Ruben FiszelandClaude Opus 5.5 a3a4fa5038 fix: let devops users reach instance pages without a workspace (#11876)
* fix: let devops users reach instance pages without a workspace

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: hide workspace-bound worker actions when no workspace is selected

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep the page header bar in the no-workspace instance view

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 13:09:03 +02:00
Ruben FiszelandClaude Opus 5.5 adae5b32a3 chore: drop the temporary git sync e2e loop and race diagnostics (#11877)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:55:30 +02:00
Ruben Fiszelandrubenfiszel de66e47b1c chore(main): release 1.841.0 (#11860)
* chore(main): release 1.841.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.841.0
2026-10-19 01:53:42 +02:00
Ruben Fiszel bfa093e09c fix: fork deploy override and selection out of step with the item list (#11871)
* fix: keep the fork deploy override across selection changes

* fix: drop selected rows that leave the fork comparison
2026-10-19 01:53:17 +02:00
Ruben FiszelandClaude Opus 5.5 a7561fd8bd fix: insert ApiAuthed into request extensions in no-auth mode (#11868)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 01:38:00 +02:00
Ruben FiszelandClaude Opus 5.5 69d36f77da feat: probe nsjail with a real jail and add a gVisor compat mode (#11865)
* feat: probe nsjail with a real jail and add a gVisor compat mode

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: route dbt captured phases through the gVisor compat step and harden the probe dir

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: patch nsjail with a gvisor_compat option instead of applying rlimits from the worker

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep DuckDB jailed on a sandboxed worker whose nsjail probe failed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs: link the upstream gVisor issues from the nsjail patch

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 01:33:35 +02:00
Ruben FiszelandClaude Opus 5.5 5c205fa469 feat: let ALLOW_PRIVATE_MCP_SERVER_URLS name the private hosts it allows (#11869)
* feat: let ALLOW_PRIVATE_MCP_SERVER_URLS name the private hosts it allows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: warn once about invalid MCP private-host entries

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 01:18:52 +02:00
Ruben FiszelandClaude Opus 5.5 19ec5d3cd8 fix: reject out-of-range integer args to narrow SQL types instead of wrapping (#11864)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 12:27:06 +02:00
Ruben FiszelandClaude Opus 5.5 578437885a clarify the no-tags autoscaling warning (#11861)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 11:12:17 +02:00
8b14a78822 fix: warn when an autoscaled worker group has no tags to count (#11859)
* fix: warn when an autoscaled worker group has no tags to count

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: drop warning autoscaling events when rolling the migration back

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: drop the autoscaling warning event and its migration

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: tell agent groups to match custom tags to their token tags

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to a673d2e3fe12927921be86c3a52bd9c956759c65

This commit updates the EE repository reference after PR #898 was merged in windmill-ee-private.

Previous ee-repo-ref: bbb21dad8a18f0593a2e1a2f2930b427f44404cd

New ee-repo-ref: a673d2e3fe12927921be86c3a52bd9c956759c65

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-18 10:47:48 +02:00
be23abb360 feat: let agent workers authenticate with a workload identity token (#11858)
* feat: let agent workers authenticate with a workload identity token

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: throttle failed workload identity key fetches per issuer

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep stale workload identity keys through an issuer outage

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: refuse workload identity rules with an empty claim value

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: validate workload identity issuers in declarative sync and share the JWKS cache

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: say workload identity issuers are optional in agent worker settings

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 96e8e2aa15bdc5968a1dae10f4e81d47d7ea49e0

This commit updates the EE repository reference after PR #897 was merged in windmill-ee-private.

Previous ee-repo-ref: 0e98880edb8db269d53120ca606025c81f320f5c

New ee-repo-ref: 96e8e2aa15bdc5968a1dae10f4e81d47d7ea49e0

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-18 10:44:50 +02:00
Ruben FiszelandClaude Opus 5.5 9e5c988770 gate unix-only bun staging items for the Windows worker build (#11856)
* fix: gate unix-only bun staging items so the Windows worker build compiles

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: compile bun_install_can_stage only where it is used

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 02:47:24 +00:00
Ruben Fiszelandrubenfiszel 35d59e9020 chore(main): release 1.840.0 (#11840)
* chore(main): release 1.840.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.840.0
2026-10-17 23:24:18 +02:00
Ruben FiszelandClaude Opus 5.5 7a2d913458 perf: opt into sqlx test templates through SQLX_TEST_TEMPLATE (#11853)
* perf: opt into sqlx test templates through SQLX_TEST_TEMPLATE

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: raise the sqlx test connection cap so concurrent tests cannot starve

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:23:53 +02:00
Ruben FiszelandClaude Opus 5.5 db3814f8f9 test: wait on the seed script's own git sync push in e2e tests (#11854)
* test: wait on the seed script's own git sync push in e2e tests

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: TEMP loop git sync e2e with race diagnostics (to be dropped)

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 23:02:45 +02:00
Ruben FiszelandClaude Opus 5.5 47b736ef27 chore: bump npm in worker images to 12 (#11839)
* fix: pass --save-text-lockfile only to bun installs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: run bun and npm installs under nsjail sandboxing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: strip workspace-dependencies header from npm-mode package.json

* chore: bump npm in worker images to 12

* docs: describe npm 12 install-script policy in install comment

* fix: mount npmrc cafile paths given with ${VAR} or ~ in the install jail

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* perf: keep bun's cache hardlinks for jailed installs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: harden the bun install staging dir and npm-mode jail mounts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: reach the bun staging dir only through no-follow descriptors

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: create bun staging files new and check outputs after the move

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: add DISABLE_BUN_INSTALL_SANDBOX to run bun installs unjailed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: retry npm installs refused git or remote fetches with a deprecation warning

* fix: point the npm fetch fallback warning at config that works on CE too

* fix: read npm fetch refusals from its debug log and honor every npm config source

* fix: force text output for the npm config check

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 22:59:34 +02:00
Ruben FiszelandClaude Opus 5.5 03b540979a test: lift the shared sqlx test pool cap so concurrent tests cannot starve (#11855)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 22:58:56 +02:00
Ruben FiszelandClaude Opus 5.5 5fc5327e60 test: drop empty doctest and lib-test targets, ignore service tests (#11852)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 22:30:42 +02:00
Ruben FiszelandClaude Opus 5.5 69745894fa test: drain pg arg and custom type cases on one worker (#11849)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 22:14:32 +02:00
Ruben FiszelandClaude Opus 5.5 5f5bc16d59 test: stop backend tests waiting out real time they do not need (#11851)
* test: stop backend tests waiting out real time they do not need

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test: delete the unused workspace_dependencies fixture

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 22:11:29 +02:00
Ruben FiszelandClaude Opus 5.5 6a12e7ea49 test: fix error handler test flake and merge handler test binaries (#11850)
* test: fix error handler test flake and merge handler test binaries

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test: tighten workspace handler test comments

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 22:04:45 +02:00
Ruben Fiszel 4ed6c1a6ce perf: clone sqlx test databases from a migrated template (#11848)
* perf: clone sqlx test databases from a migrated template

* perf: lock sqlx test templates shared while cloning

* chore: note the tag that keeps the sqlx fork rev fetchable
2026-10-17 21:59:41 +02:00
Ruben FiszelandClaude Opus 5.5 6646c86351 fix: run bun and npm installs under nsjail sandboxing (#11845)
* fix: pass --save-text-lockfile only to bun installs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: run bun and npm installs under nsjail sandboxing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: mount npmrc cafile paths given with ${VAR} or ~ in the install jail

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* perf: keep bun's cache hardlinks for jailed installs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: harden the bun install staging dir and npm-mode jail mounts

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: reach the bun staging dir only through no-follow descriptors

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: create bun staging files new and check outputs after the move

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: add DISABLE_BUN_INSTALL_SANDBOX to run bun installs unjailed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:59:33 +00:00
Ruben FiszelandClaude Opus 5.5 7a8cb62fa1 fix: mount python script modules into the nsjail sandbox (#11846)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:26:21 +00:00
feb7b1ad90 feat: add a no_network annotation for sandboxed jobs (#11844)
* feat: add a no_network annotation for sandboxed python, bash, bun and r jobs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: keep nodejs relative imports and dedicated workers working under no_network

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: bundle bun no_network jobs so relative imports resolve before the run

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: point ee-repo-ref at the runner group no_network fix

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* refactor: state the no_network token rule once

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: refuse no_network jobs whose workspace imports would be fetched at run time

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: let type-only workspace imports through the no_network import check

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to ca4a1959a0d2257d413a57349939053ac3473c6b

This commit updates the EE repository reference after PR #895 was merged in windmill-ee-private.

Previous ee-repo-ref: 3841923cfd117b6b907ac3e84b26f07bde41f8ed

New ee-repo-ref: ca4a1959a0d2257d413a57349939053ac3473c6b

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-17 09:25:55 +00:00
Ruben FiszelandClaude Opus 5.5 b0c97b34ca fix: let ALLOW_PRIVATE_AI_BASE_URLS name the private hosts it allows (#11841)
* fix: refuse dot segments in AI proxy paths

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: refuse spaces, query and fragment markers in AI proxy paths

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: refuse percent signs in AI proxy paths

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: let ALLOW_PRIVATE_AI_BASE_URLS name the private hosts it allows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: refuse loose and wildcard allowlist entries, judge embedded v4

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: never admit local-use NAT64 addresses through an allowlist net

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 08:36:22 +00:00
Ruben FiszelandClaude Opus 5.5 268415623b fix: keep script and flow deploys off a second pool connection (#11843)
* fix: keep script and flow deploys off a second pool connection

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: raise a folder default's errors only when it applies

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 08:29:57 +00:00
Ruben FiszelandClaude Opus 5.5 0b54ebc73d fix: skip the fork lock when a fork creation has no storage to purge (#11842)
* fix: skip the fork lock when a fork creation has no storage to purge

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: word the fork lock skip for both purge callers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 08:29:14 +00:00
Ruben FiszelandClaude Opus 5.5 89f36a73d1 fix: refuse dot segments in AI proxy paths (#11837)
* fix: refuse dot segments in AI proxy paths

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: refuse spaces, query and fragment markers in AI proxy paths

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: refuse percent signs in AI proxy paths

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:32:59 +02:00
Ruben FiszelandClaude Opus 5.5 09a59110d9 fix: scope delete_jobs side-table deletes to the request workspace (#11836)
* fix: scope delete_jobs side-table deletes to the request workspace

The /jobs/delete purge deleted resume_job, v2_job_runtime, v2_job_status
and concurrency_key rows by job id alone. Those tables have no
workspace_id, so a workspace admin could pass another workspace's job ids
and wipe its flow status, runtime, resume and concurrency rows. Scope
each delete through v2_job, as zombie_job_counter already is.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* refactor: filter delete_jobs ids to the workspace once

Resolve the request's job ids against v2_job up front and run every
delete on that filtered list, instead of repeating the v2_job subquery in
each side-table delete. The workspace scoping lives in one place and the
side-table deletes keep their plain id form.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:32:01 +02:00
Ruben FiszelandClaude Opus 5.5 16c8be2355 feat: warn at worker startup when WHITELIST_ENVS forwards a secret-shaped variable (#11838)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:29:49 +02:00
Ruben FiszelandClaude Opus 5.5 533670f577 fix the protection rules race and the Windows nsjail profile test (#11835)
* test: run the isolated-forks rule test in its own workspace

PROTECTION_RULES_CACHE is process-wide and keyed by workspace id, so the
other base-fixture tests in protection_rules.rs, running concurrently on
their own databases, could cache test-workspace's rules without the
RequireIsolatedForks ruleset and let the fork through to the data table
copy (400 instead of 403) on main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test: match nsjail profile lines so the envar check passes on CRLF checkouts

script_profiles_take_envars_before_their_fixed_ones searched for
"\n{ENVARS}\n", which a Windows checkout (CRLF) never contains, failing
cargo_test_windows since v1.834.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 23:34:40 +02:00
Ruben Fiszelandrubenfiszel a19a00fd83 chore(main): release 1.839.0 (#11832)
* chore(main): release 1.839.0

* Apply automatic changes

---------

Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com>
v1.839.0
2026-10-16 22:45:22 +02:00
ab4e790a21 feat: add a Require isolated forks protection rule (#11834)
* feat: route the python SDK's S3 client settings through the S3 proxy

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: drop the boto3 config key and expose the proxied bucket to polars

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: proxy S3 settings only for server-signed tokens and keep tls verify

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: isolate fork object storage under a per-fork prefix with read-through

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: guard fork storage isolation against traversal, shared lakes and orphaning

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: serialize fork purges with same-id creation and guard shared middle forks

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: drop fork storage mappings on every replica and lock fork deletion against child creation

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* wip: require isolated forks rule

* feat: add a Require isolated forks protection rule

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: recheck isolated forks under the datatable lock and judge bypass in the base

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 455681e55eb7cdfcfdb7cd79cbae75b333e07943

This commit updates the EE repository reference after PR #893 was merged in windmill-ee-private.

Previous ee-repo-ref: 93f26e3cf816e4eb97b7d4dbbb5fc97fdf9821af

New ee-repo-ref: 455681e55eb7cdfcfdb7cd79cbae75b333e07943

Automated by sync-ee-ref workflow.

* fix: exempt only datatables the base does not own, compact fork data choices

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test: pin the isolated-forks owner check, fix its docs wording

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-16 22:40:21 +02:00
9375805fdf feat: isolate fork object storage under a per-fork prefix (#11829)
* feat: route the python SDK's S3 client settings through the S3 proxy

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: drop the boto3 config key and expose the proxied bucket to polars

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: proxy S3 settings only for server-signed tokens and keep tls verify

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* feat: isolate fork object storage under a per-fork prefix with read-through

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: guard fork storage isolation against traversal, shared lakes and orphaning

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: serialize fork purges with same-id creation and guard shared middle forks

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: drop fork storage mappings on every replica and lock fork deletion against child creation

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* chore: update ee-repo-ref to 455681e55eb7cdfcfdb7cd79cbae75b333e07943

This commit updates the EE repository reference after PR #893 was merged in windmill-ee-private.

Previous ee-repo-ref: 93f26e3cf816e4eb97b7d4dbbb5fc97fdf9821af

New ee-repo-ref: 455681e55eb7cdfcfdb7cd79cbae75b333e07943

Automated by sync-ee-ref workflow.

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-10-16 22:21:38 +02:00
Ruben FiszelandClaude Opus 5.5 e0138a7374 test: find the mcp preprocessor probe tool by its new name (#11833)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 21:57:37 +02:00