diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c5d9a3a92409..4fcb35c3cbb29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## [1.426.0](https://github.com/windmill-labs/windmill/compare/v1.425.1...v1.426.0) (2024-11-18) + + +### Features + +* Add mode (permissions) option to files in ansible ([#4724](https://github.com/windmill-labs/windmill/issues/4724)) ([5e10782](https://github.com/windmill-labs/windmill/commit/5e107827790292d89e51d81138eeef2b5b23a9c2)) +* kafka triggers ([#4713](https://github.com/windmill-labs/windmill/issues/4713)) ([88b8ffa](https://github.com/windmill-labs/windmill/commit/88b8ffab907e662ccca612bf01e6a228566522d2)) + + +### Bug Fixes + +* do not mount critical alerts modal if user is neither superadmin nor workspace admin ([#4731](https://github.com/windmill-labs/windmill/issues/4731)) ([180809d](https://github.com/windmill-labs/windmill/commit/180809d3466fb62d6692c45cbb012f158f83528f)) + ## [1.425.1](https://github.com/windmill-labs/windmill/compare/v1.425.0...v1.425.1) (2024-11-16) diff --git a/backend/Cargo.lock b/backend/Cargo.lock index 71a05984abbdf..87d318ea0d2ae 100644 --- a/backend/Cargo.lock +++ b/backend/Cargo.lock @@ -1032,9 +1032,9 @@ dependencies = [ [[package]] name = "axum" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49c41b948da08fb481a94546cd874843adc1142278b0af4badf9b1b78599d68d" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" dependencies = [ "async-trait", "axum-core", @@ -2776,7 +2776,7 @@ checksum = "22a1abc6bd8af41aa2496ceceef94f4277092c781a9495c437327a17659553a2" dependencies = [ "deno_core", "deno_native_certs", - "rustls 0.23.16", + "rustls 0.23.17", "rustls-pemfile 2.2.0", "rustls-tokio-stream", "rustls-webpki 0.102.8", @@ -4295,7 +4295,7 @@ dependencies = [ "http 1.1.0", "hyper 1.5.0", "hyper-util", - "rustls 0.23.16", + "rustls 0.23.17", "rustls-native-certs 0.8.0", "rustls-pki-types", "tokio", @@ -4831,9 +4831,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.163" +version = "0.2.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fdaeca4cf44ed4ac623e86ef41f056e848dbeab7ec043ecb7326ba300b36fd0" +checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" [[package]] name = "libgit2-sys" @@ -5054,7 +5054,7 @@ dependencies = [ "base64 0.22.1", "gethostname", "mail-builder", - "rustls 0.23.16", + "rustls 0.23.17", "rustls-pki-types", "smtp-proto", "tokio", @@ -5759,9 +5759,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.4.0+3.4.0" +version = "300.4.1+3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a709e02f2b4aca747929cca5ed248880847c650233cf8b8cdc48f40aaf4898a6" +checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" dependencies = [ "cc", ] @@ -6569,7 +6569,7 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash 2.0.0", - "rustls 0.23.16", + "rustls 0.23.17", "socket2 0.5.7", "thiserror 2.0.3", "tokio", @@ -6587,7 +6587,7 @@ dependencies = [ "rand 0.8.5", "ring 0.17.8", "rustc-hash 2.0.0", - "rustls 0.23.16", + "rustls 0.23.17", "rustls-pki-types", "slab", "thiserror 2.0.3", @@ -6991,7 +6991,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.16", + "rustls 0.23.17", "rustls-native-certs 0.8.0", "rustls-pemfile 2.2.0", "rustls-pki-types", @@ -7292,9 +7292,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.16" +version = "0.23.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e" +checksum = "7f1a745511c54ba6d4465e8d5dfbd81b45791756de28d4981af70d6dca128f1e" dependencies = [ "log", "once_cell", @@ -7377,7 +7377,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22557157d7395bc30727745b365d923f1ecc230c4c80b176545f3f4f08c46e33" dependencies = [ "futures", - "rustls 0.23.16", + "rustls 0.23.17", "socket2 0.5.7", "tokio", ] @@ -7721,9 +7721,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "indexmap 2.6.0", "itoa", @@ -8269,7 +8269,7 @@ dependencies = [ "once_cell", "paste", "percent-encoding", - "rustls 0.23.16", + "rustls 0.23.17", "rustls-pemfile 2.2.0", "serde", "serde_json", @@ -9543,7 +9543,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.16", + "rustls 0.23.17", "rustls-pki-types", "tokio", ] @@ -10284,7 +10284,7 @@ dependencies = [ "log", "native-tls", "once_cell", - "rustls 0.23.16", + "rustls 0.23.17", "rustls-pki-types", "serde", "serde_json", @@ -10683,7 +10683,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windmill" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "axum", @@ -10725,7 +10725,7 @@ dependencies = [ [[package]] name = "windmill-api" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "argon2", @@ -10811,7 +10811,7 @@ dependencies = [ [[package]] name = "windmill-api-client" -version = "1.425.1" +version = "1.426.0" dependencies = [ "base64 0.22.1", "chrono", @@ -10829,7 +10829,7 @@ dependencies = [ [[package]] name = "windmill-audit" -version = "1.425.1" +version = "1.426.0" dependencies = [ "chrono", "serde", @@ -10842,7 +10842,7 @@ dependencies = [ [[package]] name = "windmill-autoscaling" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "rsmq_async", @@ -10857,7 +10857,7 @@ dependencies = [ [[package]] name = "windmill-common" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "async-stream", @@ -10904,7 +10904,7 @@ dependencies = [ [[package]] name = "windmill-git-sync" -version = "1.425.1" +version = "1.426.0" dependencies = [ "regex", "rsmq_async", @@ -10919,7 +10919,7 @@ dependencies = [ [[package]] name = "windmill-indexer" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "bytes", @@ -10941,7 +10941,7 @@ dependencies = [ [[package]] name = "windmill-macros" -version = "1.425.1" +version = "1.426.0" dependencies = [ "itertools 0.13.0", "lazy_static", @@ -10953,7 +10953,7 @@ dependencies = [ [[package]] name = "windmill-parser" -version = "1.425.1" +version = "1.426.0" dependencies = [ "convert_case 0.6.0", "serde", @@ -10962,7 +10962,7 @@ dependencies = [ [[package]] name = "windmill-parser-bash" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "lazy_static", @@ -10974,7 +10974,7 @@ dependencies = [ [[package]] name = "windmill-parser-go" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "gosyn", @@ -10986,7 +10986,7 @@ dependencies = [ [[package]] name = "windmill-parser-graphql" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "lazy_static", @@ -10998,7 +10998,7 @@ dependencies = [ [[package]] name = "windmill-parser-php" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "itertools 0.13.0", @@ -11009,7 +11009,7 @@ dependencies = [ [[package]] name = "windmill-parser-py" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "itertools 0.13.0", @@ -11020,7 +11020,7 @@ dependencies = [ [[package]] name = "windmill-parser-py-imports" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "async-recursion", @@ -11038,7 +11038,7 @@ dependencies = [ [[package]] name = "windmill-parser-rust" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "convert_case 0.6.0", @@ -11055,7 +11055,7 @@ dependencies = [ [[package]] name = "windmill-parser-sql" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "lazy_static", @@ -11067,7 +11067,7 @@ dependencies = [ [[package]] name = "windmill-parser-ts" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "lazy_static", @@ -11085,7 +11085,7 @@ dependencies = [ [[package]] name = "windmill-parser-wasm" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "getrandom 0.2.15", @@ -11106,7 +11106,7 @@ dependencies = [ [[package]] name = "windmill-parser-yaml" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "serde_json", @@ -11116,7 +11116,7 @@ dependencies = [ [[package]] name = "windmill-queue" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "async-recursion", @@ -11149,7 +11149,7 @@ dependencies = [ [[package]] name = "windmill-sql-datatype-parser-wasm" -version = "1.425.1" +version = "1.426.0" dependencies = [ "wasm-bindgen", "wasm-bindgen-test", @@ -11159,7 +11159,7 @@ dependencies = [ [[package]] name = "windmill-worker" -version = "1.425.1" +version = "1.426.0" dependencies = [ "anyhow", "async-recursion", diff --git a/backend/Cargo.toml b/backend/Cargo.toml index a14e5be0a1341..f1bee7735e510 100644 --- a/backend/Cargo.toml +++ b/backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "windmill" -version = "1.425.1" +version = "1.426.0" authors.workspace = true edition.workspace = true @@ -29,7 +29,7 @@ members = [ ] [workspace.package] -version = "1.425.1" +version = "1.426.0" authors = ["Ruben Fiszel "] edition = "2021" diff --git a/backend/ee-repo-ref.txt b/backend/ee-repo-ref.txt index 92fb7bac27efc..080f7389be6c3 100644 --- a/backend/ee-repo-ref.txt +++ b/backend/ee-repo-ref.txt @@ -1 +1 @@ -7cdaac656fde3f3e267dfb9e94dda7f3843aa44e \ No newline at end of file +0ad09326e5cdaf098e189893a14388db02266c0e \ No newline at end of file diff --git a/backend/windmill-api/openapi.yaml b/backend/windmill-api/openapi.yaml index 5bcf481f7afa9..86539605c8ae8 100644 --- a/backend/windmill-api/openapi.yaml +++ b/backend/windmill-api/openapi.yaml @@ -1,7 +1,7 @@ openapi: "3.0.3" info: - version: 1.425.1 + version: 1.426.0 title: Windmill API contact: diff --git a/backend/windmill-api/src/websocket_triggers.rs b/backend/windmill-api/src/websocket_triggers.rs index c9b16b4958ce4..d0fd2fa8cfa59 100644 --- a/backend/windmill-api/src/websocket_triggers.rs +++ b/backend/windmill-api/src/websocket_triggers.rs @@ -24,7 +24,7 @@ use windmill_common::{ db::UserDB, error::{self, to_anyhow, JsonResult}, utils::{ - not_found_if_none, paginate, report_critical_error, require_admin, Pagination, StripPath, + not_found_if_none, paginate, report_critical_error, Pagination, StripPath, }, worker::{to_raw_value, CLOUD_HOSTED}, INSTANCE_NAME, @@ -189,7 +189,6 @@ async fn create_websocket_trigger( "Websocket triggers are not supported on multi-tenant cloud, use dedicated cloud or self-host".to_string(), )); } - require_admin(authed.is_admin, &authed.username)?; let mut tx = user_db.begin(&authed).await?; @@ -332,7 +331,6 @@ async fn delete_websocket_trigger( Extension(user_db): Extension, Path((w_id, path)): Path<(String, StripPath)>, ) -> error::Result { - require_admin(authed.is_admin, &authed.username)?; let path = path.to_path(); let mut tx = user_db.begin(&authed).await?; sqlx::query!( diff --git a/benchmarks/lib.ts b/benchmarks/lib.ts index 24879228c029e..a865eb29135fa 100644 --- a/benchmarks/lib.ts +++ b/benchmarks/lib.ts @@ -2,7 +2,7 @@ import { sleep } from "https://deno.land/x/sleep@v1.2.1/mod.ts"; import * as windmill from "https://deno.land/x/windmill@v1.174.0/mod.ts"; import * as api from "https://deno.land/x/windmill@v1.174.0/windmill-api/index.ts"; -export const VERSION = "v1.425.1"; +export const VERSION = "v1.426.0"; export async function login(email: string, password: string): Promise { return await windmill.UserService.login({ diff --git a/cli/main.ts b/cli/main.ts index 3351e7da365ca..5c53f5c49c873 100644 --- a/cli/main.ts +++ b/cli/main.ts @@ -60,7 +60,7 @@ export { // } // }); -export const VERSION = "1.425.1"; +export const VERSION = "1.426.0"; const command = new Command() .name("wmill") diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 0a02b9883a140..fd99467702f73 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "windmill-components", - "version": "1.425.1", + "version": "1.426.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "windmill-components", - "version": "1.425.1", + "version": "1.426.0", "license": "AGPL-3.0", "dependencies": { "@anthropic-ai/sdk": "^0.32.1", diff --git a/frontend/package.json b/frontend/package.json index 5524b656eb8b1..c33e9961051b3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "windmill-components", - "version": "1.425.1", + "version": "1.426.0", "scripts": { "dev": "vite dev", "build": "vite build", diff --git a/frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte b/frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte index fb3254d80ae9c..cb930bfdf81c2 100644 --- a/frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte +++ b/frontend/src/lib/components/graph/renderers/triggers/TriggersBadge.svelte @@ -9,7 +9,7 @@ import { getContext } from 'svelte' import { type TriggerContext } from '$lib/components/triggers' import { FlowService, ScriptService } from '$lib/gen' - import { workspaceStore } from '$lib/stores' + import { enterpriseLicense, workspaceStore } from '$lib/stores' import KafkaIcon from '$lib/components/icons/KafkaIcon.svelte' const { selectedTrigger, triggersCount } = getContext('TriggerContext') @@ -61,7 +61,7 @@ {#each triggersToDisplay as type} {@const { icon, countKey } = triggerTypeConfig[type]} - {#if !showOnlyWithCount || ($triggersCount?.[countKey] ?? 0) > 0} + {#if (!showOnlyWithCount || ($triggersCount?.[countKey] ?? 0) > 0) && !(type === 'kafka' && !$enterpriseLicense)} {type.charAt(0).toUpperCase() + type.slice(1)} - {:else} - - {/if} - {/if} - - {#if kafkaTriggers} - {#if kafkaTriggers.length == 0} -
No kafka triggers
- {:else} -
- {#each kafkaTriggers as kafkaTrigger (kafkaTrigger.path)} -
-
{kafkaTrigger.path}
-
- {kafkaTrigger.kafka_resource_path} -
-
- -
+ {#if kafkaTriggers} + {#if kafkaTriggers.length == 0} +
No kafka triggers
+ {:else} +
+ {#each kafkaTriggers as kafkaTrigger (kafkaTrigger.path)} +
+
{kafkaTrigger.path}
+
+ {kafkaTrigger.kafka_resource_path} +
+
+ +
+
+ {/each}
- {/each} -
+ {/if} + {:else} + + {/if} {/if} - {:else} - - {/if} - - {#if newItem} - - Deploy the {isFlow ? 'flow' : 'script'} to add kafka triggers. - - {/if} -
+ +{/if} diff --git a/frontend/src/lib/components/triggers/WebsocketTriggersPanel.svelte b/frontend/src/lib/components/triggers/WebsocketTriggersPanel.svelte index f209b4fbb85cd..2bd9aa5fca84e 100644 --- a/frontend/src/lib/components/triggers/WebsocketTriggersPanel.svelte +++ b/frontend/src/lib/components/triggers/WebsocketTriggersPanel.svelte @@ -48,13 +48,17 @@ bind:this={wsTriggerEditor} /> -
- {#if !newItem} - {#if isCloudHosted()} - - Websocket triggers are disabled in the multi-tenant cloud. +{#if isCloudHosted()} + + Websocket triggers are disabled in the multi-tenant cloud. + +{:else} +
+ {#if newItem} + + Deploy the {isFlow ? 'flow' : 'script'} to add WS triggers. - {:else if $userStore?.is_admin || $userStore?.is_super_admin} + {:else if wsTriggers} - {:else} - - {/if} - {/if} - - {#if wsTriggers} - {#if wsTriggers.length == 0} -
No WS triggers
- {:else} -
- {#each wsTriggers as wsTriggers (wsTriggers.path)} -
-
{wsTriggers.path}
-
- {wsTriggers.url} + {#if wsTriggers.length == 0} +
No WS triggers
+ {:else} +
+ {#each wsTriggers as wsTriggers (wsTriggers.path)} +
+
{wsTriggers.path}
+
+ {wsTriggers.url} +
+
+ +
-
- -
-
- {/each} -
+ {/each} +
+ {/if} + {:else} + {/if} - {:else} - - {/if} - - {#if newItem} - - Deploy the {isFlow ? 'flow' : 'script'} to add WS triggers. - - {/if} -
+
+{/if} diff --git a/frontend/src/lib/script_helpers.ts b/frontend/src/lib/script_helpers.ts index 20bbc7846103b..9f78127b45347 100644 --- a/frontend/src/lib/script_helpers.ts +++ b/frontend/src/lib/script_helpers.ts @@ -666,6 +666,7 @@ inventory: # target: ./config_template.j2 # - variable: u/user/ssh_key # target: ./ssh_key + # mode: '0600' # Define the arguments of the windmill script extra_vars: diff --git a/lsp/Pipfile b/lsp/Pipfile index d89751062e0bd..bd16989a47152 100644 --- a/lsp/Pipfile +++ b/lsp/Pipfile @@ -4,8 +4,8 @@ verify_ssl = true name = "pypi" [packages] -wmill = ">=1.425.1" -wmill_pg = ">=1.425.1" +wmill = ">=1.426.0" +wmill_pg = ">=1.426.0" sendgrid = "*" mysql-connector-python = "*" pymongo = "*" diff --git a/openflow.openapi.yaml b/openflow.openapi.yaml index 15053188b9912..ce4ce424ed861 100644 --- a/openflow.openapi.yaml +++ b/openflow.openapi.yaml @@ -1,7 +1,7 @@ openapi: "3.0.3" info: - version: 1.425.1 + version: 1.426.0 title: OpenFlow Spec contact: name: Ruben Fiszel diff --git a/powershell-client/WindmillClient/WindmillClient.psd1 b/powershell-client/WindmillClient/WindmillClient.psd1 index 337e75a06ad02..1907ea41d1d17 100644 --- a/powershell-client/WindmillClient/WindmillClient.psd1 +++ b/powershell-client/WindmillClient/WindmillClient.psd1 @@ -12,7 +12,7 @@ RootModule = 'WindmillClient.psm1' # Version number of this module. -ModuleVersion = '1.425.1' +ModuleVersion = '1.426.0' # Supported PSEditions # CompatiblePSEditions = @() diff --git a/python-client/wmill/pyproject.toml b/python-client/wmill/pyproject.toml index ff7cee21d474a..1fd19ea06fa45 100644 --- a/python-client/wmill/pyproject.toml +++ b/python-client/wmill/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "wmill" -version = "1.425.1" +version = "1.426.0" description = "A client library for accessing Windmill server wrapping the Windmill client API" license = "Apache-2.0" homepage = "https://windmill.dev" diff --git a/python-client/wmill_pg/pyproject.toml b/python-client/wmill_pg/pyproject.toml index 6053e2c90b271..3b25bddec9486 100644 --- a/python-client/wmill_pg/pyproject.toml +++ b/python-client/wmill_pg/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "wmill-pg" -version = "1.425.1" +version = "1.426.0" description = "An extension client for the wmill client library focused on pg" license = "Apache-2.0" homepage = "https://windmill.dev" diff --git a/typescript-client/jsr.json b/typescript-client/jsr.json index 9161653129ac6..98c3026e9f93e 100644 --- a/typescript-client/jsr.json +++ b/typescript-client/jsr.json @@ -1,6 +1,6 @@ { "name": "@windmill/windmill", - "version": "1.425.1", + "version": "1.426.0", "exports": "./src/index.ts", "publish": { "exclude": ["!src", "./s3Types.ts", "./client.ts"] diff --git a/typescript-client/package.json b/typescript-client/package.json index 74b355c1cbc56..e58216c02aa1d 100644 --- a/typescript-client/package.json +++ b/typescript-client/package.json @@ -1,7 +1,7 @@ { "name": "windmill-client", "description": "Windmill SDK client for browsers and Node.js", - "version": "1.425.1", + "version": "1.426.0", "author": "Ruben Fiszel", "license": "Apache 2.0", "devDependencies": { diff --git a/version.txt b/version.txt index 09dfa956db246..43b39af03fa4f 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.425.1 +1.426.0