diff --git a/changelog/2026-02-16-feature-voting/index.md b/changelog/2026-02-16-feature-voting/index.md new file mode 100644 index 000000000..b29921c7c --- /dev/null +++ b/changelog/2026-02-16-feature-voting/index.md @@ -0,0 +1,11 @@ +--- +slug: feature-voting +title: Feature and language voting +tags: ['Community'] +description: Vote for the next features and languages you want to see in Windmill. Help us prioritize what to build next by casting your vote. You need to be logged in to vote. +features: + - Vote for new features you want to see implemented + - Vote for new programming languages to be supported + - Help shape the future of Windmill +image: ./voting.png +--- diff --git a/changelog/2026-02-16-feature-voting/voting.png b/changelog/2026-02-16-feature-voting/voting.png new file mode 100644 index 000000000..5c4a9131b Binary files /dev/null and b/changelog/2026-02-16-feature-voting/voting.png differ diff --git a/docs/getting_started/0_scripts_quickstart/index.mdx b/docs/getting_started/0_scripts_quickstart/index.mdx index c152e6259..631cd3637 100644 --- a/docs/getting_started/0_scripts_quickstart/index.mdx +++ b/docs/getting_started/0_scripts_quickstart/index.mdx @@ -113,4 +113,20 @@ Windmill supports scripts in TypeScript, Python, Go, PHP, Bash, C#, SQL and more allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen className="border-2 rounded-lg object-cover w-full dark:border-gray-800" -> \ No newline at end of file +> + +## Language support + +Not sure which language to choose? Compare features like SDK support, LSP integration, dependency management, and platform capabilities across all supported languages. + +
+ +
+ +:::tip Missing a feature or language? +Help us prioritize what to build next! [Vote for the next feature or language](https://app.windmill.dev/a/vote) to be supported in Windmill. +::: \ No newline at end of file diff --git a/docs/script_editor/language_support.mdx b/docs/script_editor/language_support.mdx new file mode 100644 index 000000000..1a2c31c24 --- /dev/null +++ b/docs/script_editor/language_support.mdx @@ -0,0 +1,104 @@ +--- +title: Language support +description: Compare features available across all programming languages supported by Windmill. +--- + +import DocCard from '@site/src/components/DocCard'; + +# Language support + +Windmill supports scripts in TypeScript, Python, Go, PHP, Bash, SQL, Rust, C#, Java, Ruby, Ansible and more. This page provides a detailed comparison of features available for each language. + +
+ +
+ +## Core language features + +| Language | Stability | SDK | LSP | Resource types | Relative imports | Workflows as code | Version selection | Other | +|----------|-----------|-----|-----|----------------|------------------|-------------------|-------------------|-------| +| TypeScript (Bun) | Stable | Full | ✓ | ✓ | ✓ | ✓ | - | Native mode for REST | +| TypeScript (Deno) | Stable | Full | ✓ | ✓ | ✓ | ✓ | - | - | +| Python | Stable | Full | ✓ | ✓ | ✓ | ✓ | ✓ (3.10-3.13) | - | +| Go | Stable | Simple | ✓ | - | - | - | - | - | +| Bash | Stable | - | - | - | via curl | - | - | Docker mode | +| PowerShell | Stable | - | - | - | - | - | - | - | +| Nu | Unstable | - | - | - | - | - | - | - | +| SQL (PostgreSQL) | Stable | - | - | - | - | - | - | No cold start | +| SQL (DuckDB) | Stable | - | - | - | - | - | - | DuckLake native | +| PHP | Stable | - | - | ✓ | - | - | - | - | +| Rust | Stable | Simple | - | ✓ | - | - | - | Debug/Release builds | +| C# | Stable | - | - | - | - | - | - | - | +| Java | Stable | Minimal | - | - | - | - | - | - | +| Ruby | Unstable | Minimal | - | - | - | - | - | - | +| Ansible | Stable | - | - | - | - | - | - | Vault support, git repos | + +## Dependency management + +| Language | Dependency sources | Auto import inference | Proxy | Private registries (EE) | +|----------|-------------------|----------------------|-------|-------------------------| +| TypeScript (Bun) | npm, git | ✓ | ✓ | ✓ | +| TypeScript (Deno) | npm, git, URL | ✓ | ✓ | ✓ | +| Python | PyPI, git, local | ✓ | ✓ | ✓ + resolution strategy | +| Go | Go proxy, git | ✓ | ✓ | ✓ | +| Bash | - | - | ✓ | - | +| PowerShell | - | - | ✓ | - | +| Nu | - | - | ✓ | - | +| SQL (PostgreSQL) | - | - | ✓ | - | +| SQL (DuckDB) | - | - | ✓ | - | +| PHP | Packagist, git | - | ✓ | - | +| Rust | crates.io, git | - | ✓ | ✓ | +| C# | NuGet | - | ✓ | - | +| Java | Maven, Ivy | - | ✓ | ✓ | +| Ruby | RubyGems | - | ✓ | ✓ | +| Ansible | Galaxy, PyPI, git | - | ✓ | ✓ | + +See [workspace dependencies](../core_concepts/55_workspace_dependencies/index.mdx) for more details. + +## Platform features + +| Language | Dedicated workers (EE) | HTTP tracing (EE) | Caching (EE) | Data tables + Ducklake | Windows | +|----------|------------------------|-------------------|--------------|------------------------|---------| +| TypeScript (Bun) | ✓ | ✓ (native) | ✓ | ✓ | ✓ | +| TypeScript (Deno) | - | ✓ | ✓ | ✓ | - | +| Python | ✓ | ✓ | ✓ | ✓ | ✓ | +| Go | - | ✓ | ✓ | - | - | +| Bash | - | ✓ | - | - | - | +| PowerShell | - | - | - | - | ✓ | +| Nu | - | ✓ | - | - | ✓ | +| SQL (PostgreSQL) | - | - | - | - | - | +| SQL (DuckDB) | - | - | - | ✓ | - | +| PHP | - | - | ✓ | - | - | +| Rust | - | ✓ | ✓ | - | - | +| C# | - | ✓ | ✓ | - | ✓ | +| Java | - | - | ✓ | - | ✓ | +| Ruby | - | ✓ | ✓ | - | ✓ | +| Ansible | - | - | ✓ | - | - | + +:::tip Missing a feature or language? +Help us prioritize what to build next! [Vote for the next feature or language](https://app.windmill.dev/a/vote) to be supported in Windmill. +::: + +## Legend + +- **Stability**: Production readiness (Stable / Unstable) +- **SDK**: Official Windmill client (Full = complete SDK, Simple = basic client, Minimal = minimal client) +- **LSP**: [Language Server Protocol](../code_editor/assistants.mdx) support for code assistance +- **Resource types**: Ability to fetch [resources](../core_concepts/3_resources_and_types/index.mdx) programmatically +- **Relative imports**: Ability to share code between scripts via [relative imports](../advanced/5_sharing_common_logic/index.mdx) +- **Workflows as code**: Support for [programmatic workflow definition](../core_concepts/31_workflows_as_code/index.mdx) +- **Version selection**: Ability to specify language version per script +- **Dependency sources**: Where packages can be fetched from (registries, git, local) +- **Auto import inference**: Automatic detection of dependencies from import statements +- **Proxy**: Support for proxy configuration during dependency resolution +- **Private registries (EE)**: Support for private package registries +- **Dedicated workers (EE)**: [High-throughput mode](../core_concepts/25_dedicated_workers/index.mdx) eliminating cold starts +- **HTTP tracing (EE)**: [HTTP request tracing](../advanced/18_instance_settings/index.mdx#http-request-tracing) for debugging +- **Caching (EE)**: Support for [distributed cache storage](../misc/13_s3_cache/index.mdx) +- **Data tables + Ducklake**: Support for [Data Tables](../core_concepts/11_persistent_storage/data_tables.mdx) and [Ducklake](../core_concepts/11_persistent_storage/ducklake.mdx) +- **Windows**: Support on [Windows workers](../misc/17_windows_workers/index.mdx) +- **EE**: Enterprise Edition feature