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.24",
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.24",
23
- "@zuplo/core": "6.73.24",
24
- "@zuplo/runtime": "6.73.24",
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
  }