zuplo 6.73.24 → 6.73.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Version Support Policy
|
|
3
|
+
sidebar_label: Version Support Policy
|
|
4
|
+
description:
|
|
5
|
+
How Zuplo approaches versioning, backward compatibility, deprecations, and
|
|
6
|
+
breaking changes across the gateway runtime, specification-based features, and
|
|
7
|
+
the Developer Portal.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
Zuplo runs production traffic for its customers, so backward compatibility is a
|
|
11
|
+
design constraint rather than an aspiration. This document describes how Zuplo
|
|
12
|
+
versions each part of the platform, what counts as a breaking change, and what
|
|
13
|
+
support window applies.
|
|
14
|
+
|
|
15
|
+
## At a glance
|
|
16
|
+
|
|
17
|
+
| Surface | What controls compatibility | Support window |
|
|
18
|
+
| -------------------------------------------------- | --------------------------------------------- | -------------------------------------------------------- |
|
|
19
|
+
| Gateway runtime | The `compatibilityDate` in your `zuplo.jsonc` | Indefinite. Existing compatibility dates keep working. |
|
|
20
|
+
| Specification-based features (MCP, OAuth, OpenAPI) | The upstream specification's own lifecycle | Tracks the specification. Old revisions eventually drop. |
|
|
21
|
+
| Developer Portal | The `zudoku` package version in your project | Current version only. Fixes aren't backported. |
|
|
22
|
+
|
|
23
|
+
## Gateway runtime
|
|
24
|
+
|
|
25
|
+
### Runtime versions don't change behavior
|
|
26
|
+
|
|
27
|
+
The version of the Zuplo runtime a project builds against doesn't determine how
|
|
28
|
+
that project behaves. Zuplo ships runtime updates continuously, and every
|
|
29
|
+
release runs against an extensive automated test suite covering the request
|
|
30
|
+
lifecycle, policies, handlers, and the programmable API. A newer runtime brings
|
|
31
|
+
fixes, performance improvements, and new APIs. It doesn't change how existing
|
|
32
|
+
routes, policies, and handlers behave.
|
|
33
|
+
|
|
34
|
+
Behavior changes are gated by compatibility dates instead.
|
|
35
|
+
|
|
36
|
+
### Compatibility dates
|
|
37
|
+
|
|
38
|
+
A compatibility date locks in the behavior of the runtime as of a specific day.
|
|
39
|
+
When a change would alter existing behavior, Zuplo puts that change behind a new
|
|
40
|
+
compatibility date. Projects keep the previous behavior until they opt in by
|
|
41
|
+
raising the date in `zuplo.jsonc`:
|
|
42
|
+
|
|
43
|
+
```jsonc
|
|
44
|
+
{
|
|
45
|
+
"version": 1,
|
|
46
|
+
"compatibilityDate": "2026-03-01",
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
New projects default to a recent compatibility date. Existing projects stay on
|
|
51
|
+
the date they set until someone changes it, and Zuplo doesn't retire old
|
|
52
|
+
compatibility dates on a schedule.
|
|
53
|
+
|
|
54
|
+
Every compatibility date and the behavior it changes is documented in
|
|
55
|
+
[Compatibility Dates](../programmable-api/compatibility-dates.mdx). Each entry
|
|
56
|
+
describes the old behavior, the new behavior, and the migration required.
|
|
57
|
+
|
|
58
|
+
:::tip
|
|
59
|
+
|
|
60
|
+
Raising a compatibility date is a code change like any other. Deploy it to a
|
|
61
|
+
[preview environment](./branch-based-deployments.mdx), run your tests against
|
|
62
|
+
that deployment, and merge once it passes.
|
|
63
|
+
|
|
64
|
+
:::
|
|
65
|
+
|
|
66
|
+
### Security exceptions
|
|
67
|
+
|
|
68
|
+
Security is the exception to the compatibility promise. To close a vulnerability
|
|
69
|
+
or protect customer traffic, Zuplo may change runtime behavior without gating
|
|
70
|
+
the change behind a compatibility date, including in ways that break existing
|
|
71
|
+
projects.
|
|
72
|
+
|
|
73
|
+
Zuplo scopes these changes as narrowly as the vulnerability allows and
|
|
74
|
+
communicates them as directly as responsible disclosure permits. For Zuplo's
|
|
75
|
+
security practices and how to report a vulnerability, see
|
|
76
|
+
[Security](./security.mdx).
|
|
77
|
+
|
|
78
|
+
## Changes take effect when you deploy
|
|
79
|
+
|
|
80
|
+
Zuplo doesn't rebuild or redeploy a running gateway on your behalf. A new
|
|
81
|
+
runtime, a raised compatibility date, or an updated dependency reaches an
|
|
82
|
+
environment only when you deploy to it — by pushing to the branch that
|
|
83
|
+
environment tracks, or by running [`zuplo deploy`](../cli/deploy.mdx).
|
|
84
|
+
|
|
85
|
+
Two things follow from this:
|
|
86
|
+
|
|
87
|
+
- **Timing is yours.** Nothing changes underneath a production environment
|
|
88
|
+
between deployments.
|
|
89
|
+
- **Every upgrade is testable first.** Preview environments deploy from a
|
|
90
|
+
branch, so a runtime or compatibility date change runs on real infrastructure
|
|
91
|
+
before it reaches production.
|
|
92
|
+
|
|
93
|
+
Because deployments are the moment behavior can change, Zuplo strongly
|
|
94
|
+
recommends a comprehensive test suite that gates every deployment. The
|
|
95
|
+
[`zuplo test`](../cli/test.mdx) command runs the same tests locally, against
|
|
96
|
+
preview environments, and in CI/CD. See [Testing Your API](./testing.mdx) for
|
|
97
|
+
the recommended setup.
|
|
98
|
+
|
|
99
|
+
## Specification-based features
|
|
100
|
+
|
|
101
|
+
Some parts of the gateway implement specifications Zuplo doesn't control — most
|
|
102
|
+
visibly the Model Context Protocol (MCP), along with OAuth, OpenAPI, and related
|
|
103
|
+
standards. These features follow the lifecycle of the specification rather than
|
|
104
|
+
Zuplo's own compatibility policy.
|
|
105
|
+
|
|
106
|
+
Two consequences:
|
|
107
|
+
|
|
108
|
+
- When a specification deprecates or removes a revision, Zuplo eventually ends
|
|
109
|
+
support for that revision in line with the specification's deprecation policy.
|
|
110
|
+
- When a specification changes such that remaining backward compatible would
|
|
111
|
+
mean falling out of compliance, Zuplo implements the breaking change. A
|
|
112
|
+
non-compliant implementation breaks interoperability with the clients and
|
|
113
|
+
servers customers need to work with, which is the larger break.
|
|
114
|
+
|
|
115
|
+
MCP moves fastest here. The [MCP Gateway](../mcp-gateway/introduction.mdx) and
|
|
116
|
+
[MCP Server](../mcp-server/introduction.mdx) track protocol revisions as the
|
|
117
|
+
specification publishes them, and support for older revisions ends on the
|
|
118
|
+
specification's schedule.
|
|
119
|
+
|
|
120
|
+
Where a spec-driven change can be gated, Zuplo gates it. The MCP Gateway, for
|
|
121
|
+
example, requires a compatibility date of `2026-03-01` or later — see
|
|
122
|
+
[MCP Gateway compatibility dates](../mcp-gateway/code-config/compatibility-dates.mdx).
|
|
123
|
+
|
|
124
|
+
## Developer Portal
|
|
125
|
+
|
|
126
|
+
The Developer Portal is a web application built on [Zudoku](https://zudoku.dev),
|
|
127
|
+
and it evolves rapidly. Zuplo minimizes breaking changes where practical, but
|
|
128
|
+
the UI, components, and configuration surface change over time. There's no
|
|
129
|
+
long-term support release for the Developer Portal.
|
|
130
|
+
|
|
131
|
+
The supported version is the current version:
|
|
132
|
+
|
|
133
|
+
- **Fixes ship in new versions.** Bug fixes and security fixes are released in a
|
|
134
|
+
new version of the `zudoku` package.
|
|
135
|
+
- **Nothing is backported.** Fixes aren't applied to older versions, including
|
|
136
|
+
security fixes.
|
|
137
|
+
- **Upgrading is how you pick up a fix.** A project pinned to an old version
|
|
138
|
+
stays on the behavior — and the bugs — of that version.
|
|
139
|
+
|
|
140
|
+
:::caution
|
|
141
|
+
|
|
142
|
+
Security fixes for the Developer Portal aren't backported. A project pinned to
|
|
143
|
+
an older `zudoku` version doesn't receive them.
|
|
144
|
+
|
|
145
|
+
:::
|
|
146
|
+
|
|
147
|
+
Stay on a recent version and upgrade in small, frequent increments rather than
|
|
148
|
+
large jumps. Run `npm install zudoku@latest` in your project's `/docs` directory
|
|
149
|
+
and test locally before deploying. See
|
|
150
|
+
[Updating Versions](../dev-portal/updating.mdx) for the full process, and the
|
|
151
|
+
[Zudoku release notes](https://github.com/zuplo/zudoku/releases) for updates
|
|
152
|
+
that need more than a dependency bump.
|
|
153
|
+
|
|
154
|
+
## Breaking changes and notice
|
|
155
|
+
|
|
156
|
+
When Zuplo introduces a breaking change:
|
|
157
|
+
|
|
158
|
+
- **Notice comes first.** Zuplo publishes breaking changes in advance through
|
|
159
|
+
the [changelog](https://zuplo.com/changelog) and documentation, and contacts
|
|
160
|
+
affected customers directly where the impact is identifiable.
|
|
161
|
+
- **Compatibility dates carry the change where possible.** Gating a runtime
|
|
162
|
+
change behind a compatibility date leaves the timing of adoption to you.
|
|
163
|
+
- **The upgrade path is documented.** Compatibility date entries and migration
|
|
164
|
+
guides describe what changes and what to do about it.
|
|
165
|
+
- **Enterprise customers get dedicated assistance.** Customers on an enterprise
|
|
166
|
+
plan work directly with the Zuplo team on upgrade planning, testing, and
|
|
167
|
+
rollout. See [Support](./support.mdx).
|
|
168
|
+
|
|
169
|
+
Security changes are the exception and may ship with short notice, or none, when
|
|
170
|
+
advance disclosure would put customers at risk.
|
|
171
|
+
|
|
172
|
+
## Related resources
|
|
173
|
+
|
|
174
|
+
- [Compatibility Dates](../programmable-api/compatibility-dates.mdx) — every
|
|
175
|
+
runtime behavior change and the date that gates it
|
|
176
|
+
- [Project Configuration (`zuplo.jsonc`)](../programmable-api/zuplo-json.mdx) —
|
|
177
|
+
where the compatibility date is set
|
|
178
|
+
- [Testing Your API](./testing.mdx) — local, preview, and CI/CD testing
|
|
179
|
+
- [Branch-Based Deployments](./branch-based-deployments.mdx) — how branches map
|
|
180
|
+
to environments
|
|
181
|
+
- [Updating Versions](../dev-portal/updating.mdx) — upgrading the Developer
|
|
182
|
+
Portal
|
|
183
|
+
- [Security](./security.mdx) — security practices and vulnerability reporting
|
|
184
|
+
- [Support](./support.mdx) — support plans, contact methods, and response times
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zuplo",
|
|
3
|
-
"version": "6.73.
|
|
3
|
+
"version": "6.73.26",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The programmable API Gateway",
|
|
6
6
|
"author": "Zuplo, Inc.",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"zuplo": "zuplo.js"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@zuplo/cli": "6.73.
|
|
23
|
-
"@zuplo/core": "6.73.
|
|
24
|
-
"@zuplo/runtime": "6.73.
|
|
22
|
+
"@zuplo/cli": "6.73.26",
|
|
23
|
+
"@zuplo/core": "6.73.26",
|
|
24
|
+
"@zuplo/runtime": "6.73.26",
|
|
25
25
|
"@zuplo/test": "1.4.0"
|
|
26
26
|
}
|
|
27
27
|
}
|