Milestone 0: import zappier billing, Verae middleware, and Zapier research
Compose-ready workspace: packages/zappier (rate card, portal, Stripe), packages/verae-zapier-middleware (timestamp + NATS), packages/verae-zapier (CLI app), vendor/zapier-platform, and research/zapier vendor corpus. Gate 0 structure checks pass. Product code and research are not yet wired.
This commit is contained in:
commit
b4150c8250
1364 changed files with 6814366 additions and 0 deletions
107
research/zapier/raw/docs/integrations/news/2026/index.md
Normal file
107
research/zapier/raw/docs/integrations/news/2026/index.md
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# Platform News in 2026
|
||||
|
||||
<Card title="What's changed in v19.1.0" icon="newspaper" href="/integrations/news/2026/v19.1.0" horizontal>
|
||||
Auth template rendering can honor the real outbound request and custom request properties, plus a fix for the `appTester` type signature
|
||||
|
||||
*Released: 2026-07-30*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v19.0.0" icon="newspaper" href="/integrations/news/2026/v19.0.0" horizontal>
|
||||
The `zapier` CLI binary has been removed. Use `zapier-platform` instead.
|
||||
|
||||
*Released: 2026-05-18*
|
||||
</Card>
|
||||
|
||||
<Card title="New platform guardrails for safer integration versioning" icon="newspaper" href="/integrations/news/2026/version-promotion-guardrails" horizontal>
|
||||
The platform now checks for breaking changes during promotion and guides you toward the correct semantic version, helping protect your users from unexpected disruptions.
|
||||
|
||||
*Effective: 2026-05-12*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.6.0" icon="newspaper" href="/integrations/news/2026/v18.6.0" horizontal>
|
||||
New `invoke auth template` and `invoke auth render` commands for inspecting an app's auth request shape
|
||||
|
||||
*Released: 2026-05-05*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.5.1" icon="newspaper" href="/integrations/news/2026/v18.5.1" horizontal>
|
||||
Actionable error when app definition fails to load, `platformData` removed from bundle, docs and `help` updated to use `zapier-platform` binary name
|
||||
|
||||
*Released: 2026-04-30*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.5.0" icon="newspaper" href="/integrations/news/2026/v18.5.0" horizontal>
|
||||
Line item support in `invoke`, falsy value fixes, new `line-items` project template
|
||||
|
||||
*Released: 2026-04-16*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.4.0" icon="newspaper" href="/integrations/news/2026/v18.4.0" horizontal>
|
||||
JSON input field type, `versions` command improvements, function-based dynamic dropdown fix
|
||||
|
||||
*Released: 2026-04-06*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.3.0" icon="newspaper" href="/integrations/news/2026/v18.3.0" horizontal>
|
||||
Bug fixes and improvements
|
||||
|
||||
*Released: 2026-03-12*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.2.3" icon="newspaper" href="/integrations/news/2026/v18.2.3" horizontal>
|
||||
Bug fixes and improvements
|
||||
|
||||
*Released: 2026-03-04*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.2.2" icon="newspaper" href="/integrations/news/2026/v18.2.2" horizontal>
|
||||
Bug fix for legacy-scripting-runner module loading
|
||||
|
||||
*Released: 2026-02-26*
|
||||
</Card>
|
||||
|
||||
<Card title="User migrations must stay within the same major version" icon="newspaper" href="/integrations/news/2026/migrations-same-major-version" horizontal>
|
||||
The Platform UI and CLI now block migrating users when the source and target integration versions differ in their [semantic major version](/integrations/manage/versions#version-numbering)—for example, you cannot migrate from `1.x.x` to `2.x.x`.
|
||||
|
||||
*Effective: 2026-02-26*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.2.1" icon="newspaper" href="/integrations/news/2026/v18.2.1" horizontal>
|
||||
Bug fix for build command with symlink-based package managers
|
||||
|
||||
*Released: 2026-02-23*
|
||||
</Card>
|
||||
|
||||
<Card title="Pushing unlabelled semantic versions must be sequential" icon="newspaper" href="/integrations/news/2026/no-skip-or-intermediate-versions" horizontal>
|
||||
Unlabelled integration versions must be published in order via `zapier-platform push`.
|
||||
|
||||
*Effective: 2026-02-23*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.2.0" icon="newspaper" href="/integrations/news/2026/v18.2.0" horizontal>
|
||||
invoke command supports function-based choices, stashing returns a better error message
|
||||
|
||||
*Released: 2026-02-18*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.1.1" icon="newspaper" href="/integrations/news/2026/v18.1.1" horizontal>
|
||||
Bug fix for missing HTTP error logs and security updates.
|
||||
|
||||
*Released: 2026-01-29*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.1.0" icon="newspaper" href="/integrations/news/2026/v18.1.0" horizontal>
|
||||
New `invoke --remote` flag and a fix on package manager detection.
|
||||
|
||||
*Released: 2026-01-19*
|
||||
</Card>
|
||||
|
||||
<Card title="What's changed in v18.0.7" icon="newspaper" href="/integrations/news/2026/v18.0.7" horizontal>
|
||||
Publishing process improvements, refactoring, and `sample` field added to dynamic `outputFields`.
|
||||
|
||||
*Released: 2026-01-07*
|
||||
</Card>
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# User migrations must stay within the same major version
|
||||
|
||||
> The Platform UI and CLI now block migrating users when the source and target integration versions differ in their [semantic major version](/integrations/manage/versions#version-numbering)—for example, you cannot migrate from `1.x.x` to `2.x.x`.
|
||||
|
||||
*Effective: 2026-02-26*
|
||||
|
||||
## Same-major-version migrations only
|
||||
|
||||
* Migrations are only allowed when the **from** and **to** versions share the same major number (e.g. `1.0.0` → `1.0.1`, or `2.1.0` → `2.2.0`).
|
||||
* Cross-major moves (e.g. `1.5.0` → `2.0.0`) are blocked in both the [Platform UI](https://zapier.com/app/developer) and via [`zapier-platform migrate`](https://github.com/zapier/zapier-platform/blob/main/packages/cli/docs/cli.md#migrate). This aligns with long-standing guidance; major releases include [breaking changes](/integrations/manage/planning-changes), so users should [update Zap workflows manually](https://help.zapier.com/hc/en-us/articles/18755649454989-App-versions-in-Zapier) or you should use [deprecation](/integrations/manage/versions#deprecating-versions) instead of migration.
|
||||
* Details and workflow are in [Migrate users to a new version](/integrations/manage/migrate).
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# Pushing unlabelled semantic versions must be sequential
|
||||
|
||||
> Unlabelled integration versions must be published in order via `zapier-platform push`.
|
||||
|
||||
*Effective: 2026-02-23*
|
||||
|
||||
## What changed
|
||||
|
||||
These rules apply to **unlabelled** [semantic versions](/integrations/manage/versions#version-numbering) only (for example `1.2.3`). **[Labelled versions](/integrations/manage/labeled-versions)** (such as `1.2.3-beta` or `0.0.0-my-feature`) are not part of these checks.
|
||||
|
||||
When you push a new unlabelled version, the platform validates **two** things in addition to existing format checks.
|
||||
|
||||
### 1. You cannot skip a required predecessor
|
||||
|
||||
The API must see the right **previous** unlabelled release before it accepts the new one:
|
||||
|
||||
* **Patch bump** (`1.2.3`): the exact unlabelled `1.2.2` must already exist.
|
||||
* **Minor bump** (`1.3.0`): at least one unlabelled `1.2.x` must exist.
|
||||
* **Major bump** (`2.0.0` when coming from `1.x`): at least one unlabelled `1.x.x` must exist.
|
||||
|
||||
`1.0.0` is unchanged: there is no prior semver to require.
|
||||
|
||||
If the predecessor is missing, push fails with **403** and guidance like: *Version X requires Y to exist. Push version Y, then try again.*
|
||||
|
||||
### 2. You cannot insert an “intermediate” version behind a newer line
|
||||
|
||||
You also cannot push a version if a **newer** unlabelled version already exists in the segment that would make yours a backward insert:
|
||||
|
||||
* **`1.2.3`**: blocked if any unlabelled **`1.2.4` or higher** on the same `1.2.*` line already exists. Pushing **`1.3.0`** is still allowed when only `1.3.x` or `2.x.x` exists—those are not on the `1.2.*` patch line.
|
||||
* **`1.3.0`**: blocked if any unlabelled **`1.4.x` or higher** on the same major (`1.*`) already exists. **`2.0.0`** is still allowed when only `2.x.x` exists.
|
||||
* **`2.0.0`**: blocked if any unlabelled **`3.x.x` or higher** already exists.
|
||||
|
||||
If that applies, push fails with **403** and a message that an existing version would make this an intermediate release, which is not allowed.
|
||||
|
||||
## What this means for you
|
||||
|
||||
* Plan **patch → patch → minor → major** (or the minimal chain your history needs) using **unlabelled** semver when you are ready to record real releases; use **labelled** snapshots while iterating.
|
||||
* If you are stuck because old versions were removed, you may still use **[deprecation](/integrations/manage/versions#deprecating-versions)** and, when appropriate, **[delete a deprecated version](/integrations/manage/deprecate#deleting-deprecated-versions)** so your remaining unlabelled history matches what you want to push next.
|
||||
27
research/zapier/raw/docs/integrations/news/2026/v18.0.7.md
Normal file
27
research/zapier/raw/docs/integrations/news/2026/v18.0.7.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.0.7
|
||||
|
||||
> Publishing process improvements, refactoring, and `sample` field added to dynamic `outputFields`.
|
||||
|
||||
*Released: 2026-01-07*
|
||||
|
||||
In response to the previous [Shai-Hulud incident](/integrations/build-cli/inc-547), we're changing our package publishing process to improve security. This release also includes a schema extension that allows `outputFields` to have a `sample` field. Lastly, we've refactored the `invoke` command to make upcoming enhancements easier.
|
||||
|
||||
## cli
|
||||
|
||||
* 🔨 Refactor `invoke` command ([#1217](https://github.com/zapier/zapier-platform/pull/1217))
|
||||
|
||||
## core
|
||||
|
||||
None!
|
||||
|
||||
## schema
|
||||
|
||||
* 🎉 Allow a `sample` field to be provided for dynamic `outputFields` ([#1211](https://github.com/zapier/zapier-platform/pull/1211))
|
||||
|
||||
## misc
|
||||
|
||||
* 🔨 Add publish job in CI ([#1212](https://github.com/zapier/zapier-platform/pull/1212), [#1223](https://github.com/zapier/zapier-platform/pull/1223))
|
||||
42
research/zapier/raw/docs/integrations/news/2026/v18.1.0.md
Normal file
42
research/zapier/raw/docs/integrations/news/2026/v18.1.0.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.1.0
|
||||
|
||||
> New `invoke --remote` flag and a fix on package manager detection.
|
||||
|
||||
*Released: 2026-01-19*
|
||||
|
||||
The `zapier-platform invoke` command now supports a **remote mode**. By adding a `--remote` (`-r` for short) flag to the `invoke` command, such as:
|
||||
|
||||
```
|
||||
zapier-platform invoke -r
|
||||
```
|
||||
|
||||
... all invocations, including trigger/action invocation itself, input field definitions, and dynamic dropdown choices, will be executed remotely by the Zapier production environment. This means:
|
||||
|
||||
* The integration version you want to test has to be deployed first.
|
||||
* The invocation results and the bundle payload passed to your integration code will match what you see in live production, which is great for testing.
|
||||
* Remote mode is slower than local mode (without the `-r` flag).
|
||||
|
||||
Read more about the three different modes in the [`zapier-platform invoke --help`](https://github.com/zapier/zapier-platform/blob/main/packages/cli/docs/cli.md#invoke) documentation.
|
||||
|
||||
We also fixed an issue where the `build` and `test` commands were not correctly detecting package managers (like npm, yarn, pnpm, or bun) when your integration was part of a monorepo. Now, the CLI doesn't just look in the current directory for package manager indicators (like `package-lock.json` for npm), but also checks parent directories up to four levels up.
|
||||
|
||||
## cli
|
||||
|
||||
* 🎉 Add `--remote` flag to `invoke` command ([#1220](https://github.com/zapier/zapier-platform/pull/1220))
|
||||
* 🐛 Fix package manager detection in `build` and `test` commands to include parent directories ([#1225](https://github.com/zapier/zapier-platform/pull/1225))
|
||||
|
||||
## core
|
||||
|
||||
None!
|
||||
|
||||
## schema
|
||||
|
||||
None!
|
||||
|
||||
## misc
|
||||
|
||||
* 📜 Improve internal development docs ([#1221](https://github.com/zapier/zapier-platform/pull/1221))
|
||||
27
research/zapier/raw/docs/integrations/news/2026/v18.1.1.md
Normal file
27
research/zapier/raw/docs/integrations/news/2026/v18.1.1.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.1.1
|
||||
|
||||
> Bug fix for missing HTTP error logs and security updates.
|
||||
|
||||
*Released: 2026-01-29*
|
||||
|
||||
Main change introduced here is fixing missing HTTP error logs that were prematurely lost during a Lambda invocation.
|
||||
|
||||
## cli
|
||||
|
||||
None!
|
||||
|
||||
## core
|
||||
|
||||
* 🐛 Restore missing HTTP error logs ([#1227](https://github.com/zapier/zapier-platform/pull/1227))
|
||||
|
||||
## schema
|
||||
|
||||
None!
|
||||
|
||||
## misc
|
||||
|
||||
* 🔨 Bump lodash from 4.17.21 to 4.17.23 across the board ([#1228](https://github.com/zapier/zapier-platform/pull/1228), [#1229](https://github.com/zapier/zapier-platform/pull/1229), [#1230](https://github.com/zapier/zapier-platform/pull/1230), [#1231](https://github.com/zapier/zapier-platform/pull/1231), [#1233](https://github.com/zapier/zapier-platform/pull/1233), [#1234](https://github.com/zapier/zapier-platform/pull/1234), [#1235](https://github.com/zapier/zapier-platform/pull/1235))
|
||||
29
research/zapier/raw/docs/integrations/news/2026/v18.2.0.md
Normal file
29
research/zapier/raw/docs/integrations/news/2026/v18.2.0.md
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.2.0
|
||||
|
||||
> invoke command supports function-based choices, stashing returns a better error message
|
||||
|
||||
*Released: 2026-02-18*
|
||||
|
||||
The main change in this release is to support function-based choices in the `invoke` command, which will allow developers to test perform-based dynamic dropdowns.
|
||||
|
||||
## cli
|
||||
|
||||
* 🎉 `zapier-platform invoke` now supports function-based choices ([#1237](https://github.com/zapier/zapier-platform/pull/1237))
|
||||
|
||||
## core
|
||||
|
||||
* 🐛 If we attempt to stash a large response but it's bigger than the max limit, throw a descriptive error with the actual size and the limit ([#1238](https://github.com/zapier/zapier-platform/pull/1238))
|
||||
* 🔨 Add an environment variable to allow suppressing cleaning up env vars ([#1242](https://github.com/zapier/zapier-platform/pull/1242))
|
||||
|
||||
## schema
|
||||
|
||||
None!
|
||||
|
||||
## misc
|
||||
|
||||
* 🔨 CI: Use `environment` to publish ([#1239](https://github.com/zapier/zapier-platform/pull/1239))
|
||||
* 🔨 CI: Automate the boilerplate upload ([#1240](https://github.com/zapier/zapier-platform/pull/1240))
|
||||
23
research/zapier/raw/docs/integrations/news/2026/v18.2.1.md
Normal file
23
research/zapier/raw/docs/integrations/news/2026/v18.2.1.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.2.1
|
||||
|
||||
> Bug fix for build command with symlink-based package managers
|
||||
|
||||
*Released: 2026-02-23*
|
||||
|
||||
Resolved a bug in the CLI that caused the `build` command to fail when using a symlink-based package manager (like pnpm).
|
||||
|
||||
## cli
|
||||
|
||||
* 🐛 `zapier-platform build` no longer raises `EEXIST` when using a symlink-based package manager ([#1244](https://github.com/zapier/zapier-platform/pull/1244))
|
||||
|
||||
## core
|
||||
|
||||
None!
|
||||
|
||||
## schema
|
||||
|
||||
None!
|
||||
28
research/zapier/raw/docs/integrations/news/2026/v18.2.2.md
Normal file
28
research/zapier/raw/docs/integrations/news/2026/v18.2.2.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.2.2
|
||||
|
||||
> Bug fix for legacy-scripting-runner module loading
|
||||
|
||||
*Released: 2026-02-26*
|
||||
|
||||
Improved error handling when loading the legacy-scripting-runner module in core. The runtime now logs a warning with the actual error message when the module is installed but fails to load, making it easier to diagnose issues like missing transitive dependencies.
|
||||
|
||||
## cli
|
||||
|
||||
None!
|
||||
|
||||
## core
|
||||
|
||||
* 🐛 Log a warning when `zapier-platform-legacy-scripting-runner` is installed but fails to load, instead of silently returning null ([#1247](https://github.com/zapier/zapier-platform/pull/1247))
|
||||
|
||||
## schema
|
||||
|
||||
None!
|
||||
|
||||
## misc
|
||||
|
||||
* 🔨 Fix publishing workflow to run on pushes to `main` ([#1243](https://github.com/zapier/zapier-platform/pull/1243))
|
||||
* 🔨 Add non-interactive mode to bump script ([#1249](https://github.com/zapier/zapier-platform/pull/1249))
|
||||
23
research/zapier/raw/docs/integrations/news/2026/v18.2.3.md
Normal file
23
research/zapier/raw/docs/integrations/news/2026/v18.2.3.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.2.3
|
||||
|
||||
> Bug fixes and improvements
|
||||
|
||||
*Released: 2026-03-04*
|
||||
|
||||
Bug fixes for the CLI build command and pnpm compatibility.
|
||||
|
||||
## cli
|
||||
|
||||
* 🐛 Surface package manager errors in `build` command ([#1254](https://github.com/zapier/zapier-platform/pull/1254))
|
||||
|
||||
## core
|
||||
|
||||
* 🐛 Declare `zapier-platform-legacy-scripting-runner` as an optional peer dep to fix pnpm strict module resolution ([#1255](https://github.com/zapier/zapier-platform/pull/1255))
|
||||
|
||||
## schema
|
||||
|
||||
None!
|
||||
23
research/zapier/raw/docs/integrations/news/2026/v18.3.0.md
Normal file
23
research/zapier/raw/docs/integrations/news/2026/v18.3.0.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.3.0
|
||||
|
||||
> Bug fixes and improvements
|
||||
|
||||
*Released: 2026-03-12*
|
||||
|
||||
Add support for function-based dynamic dropdowns
|
||||
|
||||
## cli
|
||||
|
||||
* 🎉 Add support for function-based dynamic dropdown to the invoke command ([#1206](https://github.com/zapier/zapier-platform/pull/1206))
|
||||
|
||||
## core
|
||||
|
||||
None!
|
||||
|
||||
## schema
|
||||
|
||||
* 🎉 Add FieldDynamicChoicesSchema for function-based dynamic dropdowns ([#1206](https://github.com/zapier/zapier-platform/pull/1206))
|
||||
72
research/zapier/raw/docs/integrations/news/2026/v18.4.0.md
Normal file
72
research/zapier/raw/docs/integrations/news/2026/v18.4.0.md
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.4.0
|
||||
|
||||
> JSON input field type, `versions` command improvements, function-based dynamic dropdown fix
|
||||
|
||||
*Released: 2026-04-06*
|
||||
|
||||
This release introduces the new `json` input field type, improved `zapier versions` output, and a schema validation fix.
|
||||
|
||||
You can now accept structured JSON input from users with the new [`json` field type](/integrations/build-cli/input-fields#json-fields). Optionally provide a `schema` to validate and describe the expected shape:
|
||||
|
||||
```javascript theme={null}
|
||||
{
|
||||
key: 'product',
|
||||
type: 'json',
|
||||
label: 'Product',
|
||||
helpText: 'Enter a JSON object',
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
name: { type: 'string' },
|
||||
price: { type: 'integer' },
|
||||
},
|
||||
required: ['name'],
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
We also fixed a bug where pushing code with [function-based dynamic dropdowns](/integrations/build-cli/dynamic-dropdowns#function-based-dynamic-dropdowns-perform) caused an unexpected validation error on the server. If you want to use function-based dynamic dropdowns, upgrade to 18.4.0 or later:
|
||||
|
||||
```javascript theme={null}
|
||||
{
|
||||
key: 'project_id',
|
||||
label: 'Project',
|
||||
type: 'string',
|
||||
required: true,
|
||||
choices: {
|
||||
perform: async (z, bundle) => {
|
||||
const response = await z.request('https://api.example.com/projects');
|
||||
return {
|
||||
results: response.data.map((project) => ({
|
||||
id: project.id,
|
||||
label: project.name,
|
||||
})),
|
||||
paging_token: null,
|
||||
};
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## cli
|
||||
|
||||
* 💅 Clarify `zapier-platform versions` timestamps with separate "Created at" and "Updated at" columns ([#1275](https://github.com/zapier/zapier-platform/pull/1275))
|
||||
|
||||
## core
|
||||
|
||||
* 🎉 Add JSON field type handling with schema-aware TypeScript inference ([#1273](https://github.com/zapier/zapier-platform/pull/1273))
|
||||
|
||||
## schema
|
||||
|
||||
* 🎉 Add JSON input field type with optional `schema` property for structured data ([#1265](https://github.com/zapier/zapier-platform/pull/1265))
|
||||
* 🎉 Validate `schema` property on JSON fields against JSON Schema meta-schema ([#1267](https://github.com/zapier/zapier-platform/pull/1267))
|
||||
* 🐛 Fix oneOf ambiguity in FieldChoicesSchema that caused server-side validation errors for function-based dynamic dropdowns ([#1268](https://github.com/zapier/zapier-platform/pull/1268))
|
||||
* 📜 Update `skipThrowForStatus` documentation to note 401 errors are not subject to the flag ([#1270](https://github.com/zapier/zapier-platform/pull/1270))
|
||||
|
||||
## misc
|
||||
|
||||
* 🔨 Improve publish workflow with path filters and boilerplate build fixes ([#1264](https://github.com/zapier/zapier-platform/pull/1264), [#1266](https://github.com/zapier/zapier-platform/pull/1266))
|
||||
39
research/zapier/raw/docs/integrations/news/2026/v18.5.0.md
Normal file
39
research/zapier/raw/docs/integrations/news/2026/v18.5.0.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.5.0
|
||||
|
||||
> Line item support in `invoke`, falsy value fixes, new `line-items` project template
|
||||
|
||||
*Released: 2026-04-16*
|
||||
|
||||
This release adds line item support to the `zapier-platform invoke` command and bumps `lodash` across all packages to address a security vulnerability.
|
||||
|
||||
[Line items](/integrations/build-cli/input-fields#line-items) are fields with a `children` property that represent structured, repeating data — like rows in a spreadsheet or items in an order. The `invoke` command now supports them in both interactive and non-interactive modes:
|
||||
|
||||
```bash theme={null}
|
||||
# Non-interactive: pass line items as JSON
|
||||
zapier-platform invoke create order --non-interactive \
|
||||
-i '{"name": "My Order", "line_items": [{"product_name": "Pens", "quantity": "12", "price": "1.50"}]}'
|
||||
|
||||
# Interactive: use the line item editing UI
|
||||
zapier-platform invoke create order -i '{"name": "My Order"}'
|
||||
```
|
||||
|
||||
In interactive mode, a sub-menu lets you add, edit, and delete items with per-field editing and required field validation.
|
||||
|
||||
## cli
|
||||
|
||||
* 🎉 Add line item support to `invoke` command with interactive editing UI ([#1272](https://github.com/zapier/zapier-platform/pull/1272))
|
||||
* 🎉 Add `line-items` project template for `zapier-platform init` ([#1272](https://github.com/zapier/zapier-platform/pull/1272))
|
||||
* 🐛 Fix `invoke` bugs: auto-detect auth ID for no-auth apps in remote mode, falsy value handling (`0`, `false`) causing infinite dropdown re-prompting, and more ([#1272](https://github.com/zapier/zapier-platform/pull/1272))
|
||||
* 🔨 Bump `lodash` from 4.17.23 to 4.18.1 ([#1274](https://github.com/zapier/zapier-platform/pull/1274))
|
||||
|
||||
## core
|
||||
|
||||
* 🔨 Bump `lodash` from 4.17.23 to 4.18.1 ([#1274](https://github.com/zapier/zapier-platform/pull/1274))
|
||||
|
||||
## schema
|
||||
|
||||
* 🔨 Bump `lodash` from 4.17.23 to 4.18.1 ([#1274](https://github.com/zapier/zapier-platform/pull/1274))
|
||||
26
research/zapier/raw/docs/integrations/news/2026/v18.5.1.md
Normal file
26
research/zapier/raw/docs/integrations/news/2026/v18.5.1.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.5.1
|
||||
|
||||
> Actionable error when app definition fails to load, `platformData` removed from bundle, docs and `help` updated to use `zapier-platform` binary name
|
||||
|
||||
*Released: 2026-04-30*
|
||||
|
||||
This patch release improves the error message you get when an app definition fails to load, removes `platformData` from the bundle, and finishes the rename of the CLI binary from `zapier` to `zapier-platform` across docs and the `help` command.
|
||||
|
||||
We're renaming `zapier` to `zapier-platform` because the `zapier` binary name will be allocated to the [Zapier SDK](https://docs.zapier.com/sdk). The `zapier` binary still works in v18, but in the next major release (v19), we'll officially remove it — you'll need to use `zapier-platform` instead. If `zapier-platform` is too long to type, you can set up a shell alias like `alias zp=zapier-platform`.
|
||||
|
||||
## cli
|
||||
|
||||
* 📜 Rename binary name from `zapier` to `zapier-platform` in docs, source, and `help` command ([#1291](https://github.com/zapier/zapier-platform/pull/1291), [#1292](https://github.com/zapier/zapier-platform/pull/1292), [#1293](https://github.com/zapier/zapier-platform/pull/1293))
|
||||
|
||||
## core
|
||||
|
||||
* 🐛 Throw actionable error when app definition fails to load ([#1288](https://github.com/zapier/zapier-platform/pull/1288))
|
||||
* 🐛 Remove `platformData` from bundle logging ([#1289](https://github.com/zapier/zapier-platform/pull/1289))
|
||||
|
||||
## schema
|
||||
|
||||
None!
|
||||
25
research/zapier/raw/docs/integrations/news/2026/v18.6.0.md
Normal file
25
research/zapier/raw/docs/integrations/news/2026/v18.6.0.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v18.6.0
|
||||
|
||||
> New `invoke auth template` and `invoke auth render` commands for inspecting an app's auth request shape
|
||||
|
||||
*Released: 2026-05-05*
|
||||
|
||||
This release adds two new commands that let you inspect and render the authentication request your app produces. They run your app's middleware (`beforeRequest`, `getAccessToken`, etc.) with placeholder credentials and capture the resulting auth request shape (headers, query params, and body) without making a real network call.
|
||||
|
||||
`zapier-platform invoke auth template` returns the static template (with `{{placeholders}}` for auth fields). `zapier-platform invoke auth render` substitutes real auth data from .env into that template and returns the final request.
|
||||
|
||||
## cli
|
||||
|
||||
* 🎉 Add `invoke auth template` and `invoke auth render` commands ([#1282](https://github.com/zapier/zapier-platform/pull/1282))
|
||||
|
||||
## core
|
||||
|
||||
* 🎉 Add `getAuthTemplate` and `renderAuthTemplate` Lambda commands ([#1282](https://github.com/zapier/zapier-platform/pull/1282))
|
||||
|
||||
## schema
|
||||
|
||||
None!
|
||||
31
research/zapier/raw/docs/integrations/news/2026/v19.0.0.md
Normal file
31
research/zapier/raw/docs/integrations/news/2026/v19.0.0.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v19.0.0
|
||||
|
||||
> The `zapier` CLI binary has been removed. Use `zapier-platform` instead.
|
||||
|
||||
*Released: 2026-05-18*
|
||||
|
||||
Version 19.0.0 is a **BREAKING CHANGE** release. Here is a brief breakdown of the main change (**❗ denotes a breaking change**):
|
||||
|
||||
## ❗ The `zapier` binary has been removed
|
||||
|
||||
The `zapier` command was deprecated in v18.0.0 in favor of `zapier-platform`. v19 completes that transition by removing the old binary entirely.
|
||||
|
||||
***
|
||||
|
||||
Apart from this major change, here are the detailed release notes for this release (**note that ❗ denotes a breaking change**):
|
||||
|
||||
## cli
|
||||
|
||||
* ❗ Remove the `zapier` executable; the CLI now ships only `zapier-platform` ([#1299](https://github.com/zapier/zapier-platform/pull/1299))
|
||||
|
||||
## core
|
||||
|
||||
None!
|
||||
|
||||
## schema
|
||||
|
||||
None!
|
||||
27
research/zapier/raw/docs/integrations/news/2026/v19.1.0.md
Normal file
27
research/zapier/raw/docs/integrations/news/2026/v19.1.0.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# What's changed in v19.1.0
|
||||
|
||||
> Auth template rendering can honor the real outbound request and custom request properties, plus a fix for the `appTester` type signature
|
||||
|
||||
*Released: 2026-07-30*
|
||||
|
||||
This release improves auth template extraction and rendering: templates can now honor the real outbound request and integration-specific custom request properties when selecting credentials, non-auth request bodies are kept out of extracted templates, and `z.request(url, options)` calls are handled correctly during extraction. It also fixes the `appTester` TypeScript signature to accept request templates.
|
||||
|
||||
## cli
|
||||
|
||||
None!
|
||||
|
||||
## core
|
||||
|
||||
* Thread `targetRequest` through `renderAuthTemplate` so rendering can honor the real outbound request ([#1298](https://github.com/zapier/zapier-platform/pull/1298))
|
||||
* Support `customRequestProperties` in the `renderAuthTemplate` bundle, letting integration middleware select the right credential during rendering ([#1322](https://github.com/zapier/zapier-platform/pull/1322))
|
||||
* Drop non-auth request bodies from extracted auth templates ([#1323](https://github.com/zapier/zapier-platform/pull/1323))
|
||||
* Preserve `z.request(url, options)` options in auth-template request stubs, and honor `customRequestProperties` during template extraction ([#1324](https://github.com/zapier/zapier-platform/pull/1324))
|
||||
* Support request templates in the `appTester` type signature ([#1302](https://github.com/zapier/zapier-platform/pull/1302))
|
||||
|
||||
## schema
|
||||
|
||||
None!
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
> ## Documentation Index
|
||||
> Fetch the complete documentation index at: https://docs.zapier.com/llms.txt
|
||||
> Use this file to discover all available pages before exploring further.
|
||||
|
||||
# New platform guardrails for safer integration versioning
|
||||
|
||||
> The platform now checks for breaking changes during promotion and guides you toward the correct semantic version, helping protect your users from unexpected disruptions.
|
||||
|
||||
*Effective: 2026-05-12*
|
||||
|
||||
## What's new
|
||||
|
||||
The platform now automatically checks for breaking changes when you [promote](/integrations/manage/promote) a new integration version. If breaking changes are found and the version doesn't increment the major number, promotion is paused with a clear explanation of what was detected and which version number to use instead.
|
||||
|
||||
This helps you catch issues **before** they reach users — no more accidentally shipping a removal or auth change under a patch bump.
|
||||
|
||||
## What gets checked
|
||||
|
||||
When you promote, the platform compares the new version against the current public version at the **schema level** — looking at the structure of your triggers, actions, searches, and authentication. The following schema-level breaking changes are detected automatically:
|
||||
|
||||
* **Removed triggers, actions, or searches** — a key present in the current public version is missing in the new version
|
||||
* **Authentication type change** — the auth type (e.g., `oauth2`, `apiKey`, `session`) differs between versions
|
||||
* **Trigger type change** — a trigger switched between polling and hook type
|
||||
* **Removed searchOrCreate keys** — a searchOrCreate present in the current version is missing
|
||||
* **Removed input field keys** — an input field key on an existing trigger/action was removed
|
||||
* **Optional input field made required without a default** — an existing optional field is now required but has no default value
|
||||
* **Authentication field changes** — removing an auth field, adding a new required auth field, or changing an auth field's type
|
||||
* **Input field type changes** — changing the type of an input field (e.g., `string` → `list`)
|
||||
* **Incompatible JSON field schema changes** — backward-incompatible changes to `json`-type input field schemas
|
||||
|
||||
If any of these are detected, you'll see a message explaining the specific changes found and the minimum major version required.
|
||||
|
||||
<Note>
|
||||
These checks cover **schema-level** changes only. Some breaking changes happen outside the schema — for example, removing or renaming output field keys, changing the behavior of a perform function, or altering response structures. These are still your responsibility to catch. Review the full [versioning matrix](/integrations/manage/planning-changes) before promoting.
|
||||
</Note>
|
||||
|
||||
## What this means for you
|
||||
|
||||
* **If you're already following semver**, nothing changes. You're good.
|
||||
* **If a promotion is paused**, read the message — it tells you exactly which changes triggered the check and what version number to use. Bump the major version and promote again.
|
||||
* **If you need to phase out a trigger, action, or search without a major bump**, [hide it](/integrations/manage/versions#what-counts-as-a-breaking-change) instead of removing it. Hidden items continue to work for existing Zap workflows but are no longer available to new users.
|
||||
|
||||
For the full list of what gets detected and how to choose the right version number, see [Version numbering](/integrations/manage/versions#version-numbering).
|
||||
Loading…
Add table
Add a link
Reference in a new issue