Windmill

W

Windmill

Join the community to ask questions about Windmill and get answers from other members.

Join

help

general

changelog

I will write a blog post asap on it, but

I will write a blog post asap on it, but this weekend we achieved a very cool property for a distributed sytem: - Scripts were always 100% reliable as in, they would either execute and be completed with a success or failure, or retried if the worker crashed at ANY point (and I really mean any, even mid transaction, that's the beauty on relying on the beast that is Postgresql). It was achieved using atomic statement for pulling jobs and writing back their progress timestamps, regularly and on completion. - Flows were 99% reliable but had some extremely ephemeral point-in-time where if a crash happened, a flow could be stuck forever. Those events were so rare and unlikely on a modern infra that we didn't prioritize improving that but that is now done: Flows are now guaranteed to complete when they are scheduled given that enough workers are there to process them. This is done through a series of atomic statements in the right places of the finite state machine that runs the flows. If such crash on the machine happen, the flow will be guaranteed to progress in a finite amount of time and propagate the error back up, and then have it be treated by error handlers if any making windmill 100% observable....

NEW [Major] 🔴 Flow & Metadata Copilot

NEW [Major] 🔴 Flow & Metadata Copilot Released on 15/02/2024 under v1.270.0 The Flow & Metadata Copilot is an assistant powered by an OpenAI resource that simplifies your script & flows building experience by population fields (summaries, descriptions, step input expressions) automatically based on context and prompts....

Rich Display Rendering | Windmill

NEW [Major] 🔴 Rich table display Released on 23/01/2024 under v1.251.1 Display arrays of objects as interactive tables (search, filter, hide, view, download as csv)...

Node

We have an alpha of a NodeJS compatibility mode (a true one, where NodeJS is the actual runtime). We are looking for enterprise beta testers to test it with your legacy NodeJS code.

NEW [Major] 🔴

NEW [Major] 🔴 Schedule App Reports Send a PDF or PNG snapshot of any app at a given schedule to slack / discord / email or via any custom script....

Git sync

New feature: you can now sync your workspace with a Git repo. Any updated script, flow or app will be automatically pushed to the repo upon deploy! Only for EE. More details -> https://www.windmill.dev/docs/advanced/git_sync

We have added two new components to the

We have added two new components to the App builder: Dropdown menu: - Actions are fully customisable button components (color, label, icons,...) - They can trigger a runnable on click and/or trigger a side effect (open a modal, select a tab, etc.)...

It is now possible to define a node at

It is now possible to define a node at which the flow will return at for sync endpoints. The rest of the flow will continue asynchronously. Useful when some webhooks need to return extremely fast but not just the uuid (define first step as early stop) or when the expected return from the webhook doesn't need to the full flow being computed...

Competitors

@here Dedicated workers for full flows are now available in alpha for EE. Run each step of a flow on workers dedicated to the flows at blazing speed by just toggling a setting at the flow level and assigning your worker group to that flow. When a worker is assigned to a flow, it is capable of handling every steps. The full flow attached here made of 3 scripts (1 in python, 2 in typescript) and branches executed in 36ms of worker time and took 230ms end-to-end. This make windmill flows good fit for event streaming cases. We've benchmarked with @guillaume windmill to be the fastest workflow engine among airflow, prefect, temporal, and by quite a margin for airflow! Read more at: https://www.windmill.dev/docs/misc/benchmarks/competitors Also next week will be launch week. If you're a keen reader of this channel, you already know almost everything we will present except one major feature on day 5. But we will make special efforts on how we present things by having blog posts explaining in details each feature....
No description

Feat

We've added a tree viewer to the homepage, that includes expand/collapse functions and a clearer hierarchical layout.
No description

Ask Inkeep

Please use and try our new AI bot @Ask Inkeep for any simple questions! It's the same AI agent used in our docs

INIT_SCRIPT

new env variable INIT_SCRIPT to run a script at the start of a worker. Combine it with the EE worker group management UI to modify them directly from the workers page. This is more lightweight than having a separate docker images per worker group and make it much easier to iterate
No description

EE only search any scripts flows

EE only: search any scripts, flows, resources, apps for a specific string similar to github search.

There was a significant performance

There was a significant performance improvement for windmill_app for large results. We now avoid unecessary de/serialization which is both much faster and have a lighter memory footprint.

groups

Build your own meta components aka container groups Here is one of the alpha of one of those features announced today, you can now transform containers into groups so that you can make them generic by having the inner components of it connect to the group fields. The next iteration will allow to save those groups in the workspace. Inside those "container groups", you can refer to "group.x" to refer to one of those group field which make this independent of the id of the container itself...

Eval V2 are here!

Eval V2 are here! Apps go from already really fast to super blazing fast.. We now parse your eval and frontend scripts using the swc parser compiled to wasm to extract any references to outputs. It allows windmill to suggest dependencies for frontend scripts as shown in the video. More importantly, now evals are only evaluated on changes to the outputs that have been identified. It means that most likely a properly made windmill app could be as fast or faster than full code apps. Prior evals were recomputed for any change to any output. This scale really bad for complex apps and why we were careful about the usage of evals. Evals will not be converted automatically so you will have to press the toggle to go from Legacy Eval to New Eval. ...

We ve enhanced the Runs page with an

We've enhanced the Runs page with an improved UI for filters and a more compact view.
No description

And now you can run native powershell

And now, you can run native powershell scripts!
No description

We improved the Audit Logs page design

We improved the Audit Logs page design and we added more filters!
No description

Table rows now have properties similar

Table rows now have properties similar to List but instead of using iter.index, iter.value, one uses row.index, and row.value. It allows to do things like the example above. There is also a new 'inputs' output that contains the inputs of every rows.
No description