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
|
|
@ -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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue