Commit Graph
15341 Commits
Author SHA1 Message Date
hugocasaandClaude Opus 5.5 04e9cf50e1 feat: pick the workspace connection like other workspace resources, connect and disconnect from the picker
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:27 +02:00
hugocasaandClaude Opus 5.5 4a24656649 feat: let an admin share one native trigger connection with the whole workspace
Members can use the shared connection without reading its token. It reuses
workspace_integrations.resource_path, so existing workspace connections stay
usable by members after upgrading.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 16f1d9b528 fix: key token write-back by account and serialize trigger creation with disconnect
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 c9eec8e9d2 fix: scope-check the connection path when connecting, keep a connection still in use
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 5d446ff9fd fix: skip triggers moved since their scope check when disconnecting
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 665eac45ed fix: delete only the scope-checked triggers when disconnecting
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 5e4e90a43d chore: order the native trigger connection migration after account ownership
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 d83658cd18 fix: authorize oauth account links and scope native trigger disconnects
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 99c6ce4476 fix: bind native trigger oauth state to its user and follow connection renames
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 16e5249ae0 feat: let native triggers act through per-user or shared connections
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 5dae01e990 fix: stop listing the ignored account input in the chat's write_variable instructions
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 5af3643592 refactor: create an OAuth token variable and its account in one request
createAccount takes the variable and the store creates both in one
transaction, so a connect is either fully saved or not at all. The connect
flows make that single call instead of creating the variable and linking it
afterwards.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 df2ae2275a fix: keep the resource AppConnect fills when linking its account fails
Deleting a variable also deletes the resource at its path, so the rollback
is skipped when filling an existing resource.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 a88eff801c fix: delete AppConnect's token variable when linking its account fails, so Save can be retried
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 b4d0b9fe69 chore: pin the EE refresh and linking checks
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 9d5718df43 fix: stop exporting the OAuth account a variable links, and regenerate the chat tool schema
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 635f51d642 fix: link the account to the token variable AppConnect created, even if the path is edited mid-save
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 0ba2705669 chore: keep the MCP secret variable test's formatting
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 24dcdf0e63 refactor: link a variable to its OAuth account only in the connect flow
The variable endpoints no longer take an account link from the caller. The connect
flows create the token variable first and pass its path to create_account, which
links it server-side. This replaces the creator check and the created_by
bookkeeping, along with both migrations.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 5b1f76b498 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-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 9303ddd50f 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-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 6e93305e8c test: cover a permitted relink through a variable update
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 4b8e770922 test: cover relinking an oauth account through a variable update
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 682ce9025e 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-19 12:56:26 +02:00
hugocasaandClaude Opus 5.5 68cc96eefd 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-19 12:56:26 +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