# Changelog

Canonical: https://useformwork.com/docs/changelog

Updated: 2026-10-09

What changed in each FormWork release, newest first, from the 1.0 launch in December 2025 to the automations and stages rework in 2.0 and the releases since.

## 2.1.0 — 9 October 2026

Choose what happens when an automation step fails, plus fixes for fields, permissions and the value picker.

### New

- Steps that call another system, and **Assign**, have a **When it fails** setting: **Stop and mark the run as failed**, **Stop, with the run completed** or **Carry on with the next step**. See [Steps](/docs/automations/steps).
- **Stop** can end a run as **Failed**, with an optional reason that shows in Runs and in the failure email.
- **Skip to next item** leaves the current item of a **For each** and carries on with the next one.

### Improved

- The value picker offers the results of **Find a row or entry**, **Find records**, **Send to webhook**, **Send Slack message** and app steps. See [Inserting values](/docs/automations/inserting-values).
- The failure email names the step that failed, not the last step that ran.
- Country answers show the country name rather than a code, and Country team fields can be edited in the entries table.
- API keys show when they were last used, and the API keys page shows the account ID that requests need. See [API keys](/docs/platform/api-keys).
- The date formatter in templates also formats dates stored as text.

### Fixed

- Phone numbers no longer lose their first digits to the calling code, and reopen with the right country.
- Read only is respected by every field type, and hidden fields no longer carry validation rules.
- **Yes or no** fields work with required and must-be-on rules.
- Settings changed quickly one after another in the builder no longer overwrite each other.
- Saving or resetting the theme keeps the form's other settings.
- Conditions compare dates, dates and times, and times in the right order.
- Discarding the form's draft also discards its team fields draft.
- Only account admins can delete projects, rename the account or change the plan, and the last admin can no longer be made a member.

## 2.0.0 — 3 October 2026

Automations are rebuilt around steps you read from top to bottom, and forms can now have a process: stages, owners, due dates, approvals and a status page for respondents.

### New

- Automations read as a list: **When**, an optional **Only run if**, then steps. Branch with **If** and **Switch**, repeat with **For each**, and end early with **Stop**. See [Automations](/docs/automations/overview).
- Where a trigger sits decides how its automation runs: while someone fills in the form, after something happens to an entry, on a schedule or from another system. Slow steps carry on in the background so nobody waits for them.
- **Wait** pauses a run for a set time, until a date answer or until a day and time, and carries on even days later.
- Time-based triggers: **Every day / week**, **Before or after a date answer**, **No change for a while** and **In a stage too long**. See [Triggers](/docs/automations/triggers).
- New steps: **Find a row or entry**, **Find records**, **Send to webhook** and **Send Slack message**. Webhook addresses and tokens can be kept as project **Secrets**.
- Start from a template such as **Approve requests over an amount**, **Remind before a date** or **Weekly digest**.
- **Test** runs an automation against an entry without sending or saving anything, and shows what each step would have done. See [Runs and testing](/docs/automations/runs).
- Each automation has a **Runs** tab, runs are drawn on the flow, and **Run again** repeats a run for its entry. Admins can be emailed when a run fails.
- The **Process** tab in the builder sets out the stages a form's entries move through, with actions such as **Approve** that your team uses to move them on. See [Stages](/docs/process/stages).
- Stages can have an owner, a group whose members take turns, and a due time. Overdue entries are marked and counted. See [Owners and due dates](/docs/process/owners-due-dates).
- Approval stages email approvers a link to approve or reject, so they don't need a FormWork account. See [Approvals](/docs/process/approvals).
- Automations can react to **Stage changes** and **Approval is decided**, and use the **Move to stage**, **Assign**, **Request approval** and **Remind approvers** steps.
- **My work** lists every entry waiting for you across all your forms. See [My work](/docs/process/my-work).
- Respondents can follow their request on a read-only status page, with a label you choose for each stage. See [Respondent status](/docs/process/respondent-status).
- The **Team member** field type, with an **Assigned to me** filter. See [Team fields](/docs/entries/team-fields).
- The entries table has stage pills and the **Assigned to me**, **Unassigned**, **Overdue** and **Waiting for my approval** quick filters. See [Views and filters](/docs/entries/views-filtering).
- Each account has a timezone, used for schedules, waits and due times. See [Accounts and projects](/docs/platform/accounts-projects).

### Improved

- Workflows are now called automations, and metafields are now called team fields.
- Team fields can be edited straight in the entries table, or set on many selected entries at once.
- Existing entries move onto newly published team fields, and the publish review shows which entries a change converts.
- Conditions in automations can check whether an answer **changed**, **changed to** or **changed from** a value. Each automation runs once per save.
- Automations always run from the form's latest published version.
- Steps that are missing a setting show **Needs setup**, and the form can't be published until they are set up.
- The publish review asks what to do with runs that are waiting.
- The **History** tab shows stage moves, approvals and automation runs alongside answer changes. See [Revisions and history](/docs/entries/revisions).

## 1.9.0 — 5 September 2026

A refreshed look across FormWork, email notifications without an automation, and spam protection for forms.

### New

- **Email your team** and **Email the person who filled it in** send emails on every submission, set up on the form's **Notifications** page. See [Notifications](/docs/forms/notifications).
- **Let people save and continue later** gives respondents a link back to their answers. See [Form settings](/docs/forms/form-settings).
- **Security check (CAPTCHA)** keeps automated spam out of your forms. Login and sign-up are protected the same way.
- Repeating fields can have a minimum and maximum number of items.
- The share page has a **QR code** for the live form, with **Download PNG**. See [Share and embed](/docs/forms/share-embed).
- The success message can be an **HTML template** with inserted answers.
- The entry page has **Previous entry** and **Next entry**, and a menu with **Copy entry ID**. See [The entry page](/docs/entries/entry-page).

### Improved

- A new design across the app, with sentence-case labels, British date formats and confirmations in place of browser pop-ups.
- The builder shows fields on the canvas as respondents will see them. Press **/** to add a field, duplicate or delete fields from the canvas, and drag options into order.
- **Review changes** shows every draft change, including team fields, in plain language before you publish them together. See [Drafts and publishing](/docs/forms/form-versions).
- Long dropdowns can be searched as you type.
- The **New form** dialog offers starting points as well as a blank form.
- Form settings are grouped by what you are trying to do, and appearance starts from presets and your brand colour. See [Appearance](/docs/forms/appearance).

### Fixed

- A failed submit on a multi-page form opens the page with the first error.
- Hidden and read-only fields are never required.
- Calculated fields stay empty until the values they use are filled in.

## 1.8.0 — 7 August 2026

Better account and sign-in tools, faster ways to find and export entries, and example projects to start from.

### New

- Reset a forgotten password from the login page with **Forgot your password?**.
- Invite people who don't have a FormWork login yet. See [Team members and roles](/docs/platform/users-permissions).
- **Log out other devices** on your profile.
- Sign up from an example on the FormWork website to start with a copy of that project. See [Accounts and projects](/docs/platform/accounts-projects).
- **Search entries** finds entries by their answers.
- Views can be shared with the team, and each person can choose their own default view. See [Views and filters](/docs/entries/views-filtering).
- A **Feedback** button to send questions and problems to the FormWork team.

### Improved

- Sort entries by up to three columns, resize columns, and save both with the view.
- Choose which columns to export, and match CSV columns to fields before importing. Imports can update existing entries by a key column. See [Import and export](/docs/entries/import-export).
- Drafts save even when a setting isn't finished. Problems are checked when you publish.
- Passwords need 10 characters instead of a symbol, and sign-up shows how strong yours is.
- The form scrolls to the top when respondents move to the next or previous page.
- The JavaScript API on embedded forms has events for when the form is ready, saved and submitted, and methods to read and set answers. See [Embedding and the JavaScript API](/docs/embedding/web-component).
- Saving answers is faster on large forms.

### Fixed

- The **Page is reached** trigger starts automations again.
- Values that can't be found are treated as empty instead of causing errors.

## 1.7.0 — 13 July 2026

New plans with usage limits, and a much more capable data table editor.

### New

- New plans with usage meters, and subscribing through Stripe Checkout. See [Plans and billing](/docs/platform/billing).
- Search the rows of a data table, choose rows per page and sort by a column. See [Data tables](/docs/data-tables/overview).
- Choice, currency, URL and link columns in data tables.
- Create a data table's columns from the CSV file you import.
- Delete data tables that no form uses.

### Improved

- Reorder data table columns, mark them as required, and change a column's type after seeing which values convert.
- Data table cells are formatted for reading, with row counts and aligned numbers.
- Add rows from the end of the grid, and find import and export in the table's actions menu.

### Fixed

- Cell save failures show a retry, and **Escape** undoes an edit.
- Numbers such as 1,299 are read correctly, and number cells can be cleared.

## 1.6.0 — 13 June 2026

API connectors from OpenAPI files, and more column types for data tables.

### New

- Create an API connector from an OpenAPI file with **Import OpenAPI**. See [API connectors](/docs/extensions/api-connectors).
- Try an API connector action from its **Test** tab before using it in an automation.
- Yes or no, time, date and time, and email columns in data tables.

### Improved

- Adding, renaming and reordering pages in the builder is simpler.
- The **Add field** button is always shown, even when a page already has fields.
- The option editor keeps focus after you add an option, so you can type the next one.

## 1.5.0 — 8 May 2026

Delete forms and entries, check a form before publishing, and see exactly what each automation step did.

### New

- Delete forms and entries. See [Form settings](/docs/forms/form-settings) and [Entries](/docs/entries/managing-entries).
- **Show first item** starts a repeating field with one empty item. See [Pages, groups and repeaters](/docs/forms/form-structure).
- Drag fields onto other pages.
- The builder lists problems in the form and its automations, with links to each one, before you publish.
- Run details show each step's inputs and results. See [Runs and testing](/docs/automations/runs).

### Improved

- Appearance changes save as you make them, and **Reset to default** goes back to the standard theme. See [Appearance](/docs/forms/appearance).
- A more neutral default theme for forms.
- The template editor is more reliable for long and complex templates.
- Conditions can check fields inside repeating groups. See [Conditional logic](/docs/logic/conditional-logic).

### Fixed

- Answers typed quickly are saved in order, and validation messages no longer flash while answers save.
- **Next** checks the current page for errors before moving on.
- Sliders always have a value, and number fields respect their decimal places setting.
- **Edit form** opens the editable draft.

## 1.4.0 — 13 April 2026

Reusable templates for emails and PDFs, API connectors, and plans and billing.

### New

- **Templates** for email messages, PDF documents and layouts, reused across automations. See [Templates](/docs/templates/overview).
- **API connectors** call another system's API from an automation, with the request built from mapped values. They replace the old API request step. See [API connectors](/docs/extensions/api-connectors).
- Heading, Paragraph, Button and HTML fields can show earlier answers using a template. See [Template syntax](/docs/templates/syntax).
- Default values can use inserted values and templates. See [Calculated values and defaults](/docs/logic/calculations).
- Plans and billing, with the Stripe customer portal behind **Manage billing**. See [Plans and billing](/docs/platform/billing).

### Improved

- REST API parameters are consistently in snake case, and listing endpoints no longer require filters. See [REST API](/docs/api/reference).
- Numbers show without added decimal zeros.

### Fixed

- The form scrolls to the top after it is submitted.

## 1.3.0 — 6 March 2026

Send emails and create PDFs from automations, and a new multiple choice field.

### New

- The **Send email** step sends emails from automations, with FormWork's email layout or none. See [Steps](/docs/automations/steps).
- **Generate PDF** creates a PDF from the entry that a later email can attach.
- The **Multiple choice** field type. See [Field types](/docs/forms/field-types).
- Embedded forms load their appearance automatically, so theme changes show on your site without new embed code. See [Theming with CSS](/docs/embedding/theming).

### Improved

- In the add field dialog, press **Enter** to add the field, or **Ctrl+Enter** (**Cmd+Enter** on a Mac) to add it and start another.
- **Time** fields can include or leave out seconds.
- Adding a step to an automation is quicker.

### Fixed

- Hidden fields stay hidden, and conditional logic takes hidden fields into account.
- Default values show correctly when an entry starts.
- Long lists in the value picker scroll.

## 1.2.0 — 9 February 2026

Extensions arrive, starting with Stripe payments.

### New

- The **Extensions** page, for connecting FormWork to other services. See [Extensions](/docs/extensions/overview).
- Take payments in a form with Stripe. See [Stripe](/docs/extensions/stripe).
- Use extension actions as automation steps, with settings that follow each action.
- The **Team button is clicked** trigger starts automations from a button in an entry's team fields.

### Improved

- Rename an automation from its title in the editor.
- The automations list shows more about each automation.

### Fixed

- Condition steps in automations check their rules correctly again.

## 1.1.0 — 9 January 2026

Page logic, smarter operators and smoother file uploads.

### New

- **Page logic** shows or hides a whole page. See [Conditional logic](/docs/logic/conditional-logic).
- Conditions only offer the operators that suit the field you pick. See [Operators](/docs/logic/operators).
- Fields can refer to other answers in the same repeating item.

### Improved

- Parts of a Name or Address field can be edited and reordered.
- Dragging fields into and out of groups is more reliable.
- Files can be uploaded before an entry has been saved, and show their size and a download link. See [Files and uploads](/docs/entries/files-uploads).
- Validation messages appear once someone leaves a field or moves on, not while they type.

### Fixed

- **Update entry or row** only changes the entry it is pointed at.
- Buttons on a new form save the entry before running their automations.
- Previews and team fields use the right draft version.
- Forms embedded on other websites load without cross-origin errors.

## 1.0.0 — 8 December 2025

FormWork 1.0: build forms, collect entries, keep internal data alongside them and automate what happens next.

### New

- A form builder with pages, groups and repeating fields, arranged by drag and drop. See [Pages, groups and repeaters](/docs/forms/form-structure).
- Field types for text, numbers, choices, dates and times, phone numbers, countries, addresses with lookup, ratings, sliders, signatures, file uploads, images and video. See [Field types](/docs/forms/field-types).
- Conditional logic to show or hide fields, validation rules, default values and Excel-style calculations. See [Conditional logic](/docs/logic/conditional-logic) and [Validation](/docs/logic/validation-rules).
- Drafts and publishing, with one draft and one live version of each form. See [Drafts and publishing](/docs/forms/form-versions).
- Share a link to the form or embed it on your website. See [Share and embed](/docs/forms/share-embed).
- An appearance editor with colours, Google Fonts, corner radius and dark mode. See [Appearance](/docs/forms/appearance).
- An entries table with views and filters, and an entry page with the answers and their history. See [Entries](/docs/entries/managing-entries).
- Team fields: internal fields on every entry that respondents never see. See [Team fields](/docs/entries/team-fields).
- CSV import and export for entries, with progress shown while large files run. See [Import and export](/docs/entries/import-export).
- Automations with triggers such as **Form is submitted**, **Answer changes** and **Button is clicked**, and steps that calculate values, check conditions, repeat for each item, change entries and rows, and send requests to other systems. See [Automations](/docs/automations/overview).
- Each entry shows the automation runs it started and what each step did.
- Data tables for reference data such as products or prices, with typed columns, views and CSV import. See [Data tables](/docs/data-tables/overview).
- Dropdown and choice options from a data table, another form or an earlier answer. See [Options from a data table](/docs/data-tables/options-source).
- A value picker for inserting answers, team fields and data table values into calculations, logic and automations. See [Inserting values](/docs/automations/inserting-values).
- Accounts, projects and team members, with an account switcher for people in more than one team. See [Accounts and projects](/docs/platform/accounts-projects).
- A REST API with API keys. See [REST API](/docs/api/reference) and [API keys](/docs/platform/api-keys).
- The builder, entries and automations work on phones as well as desktops.