<@ULVA73B9P> If a Prefect server and client have d...
# ask-marvin
u
@Marvin If a Prefect server and client have different versions but share the same API version, will they work together without issues?
m
thought for 191.8 seconds
Short answer: not necessarily. In Prefect 3.x, matching the API version alone is not a full guarantee that a server and client will work together without issues. What Prefect actually checks is mainly the Prefect package version compatibility: - Major versions must match
3.x
client with
3.x
server - Older client + newer server — generally expected to work - Newer client + older server — may work, but can cause unexpected behavior So the safest rule is: - Best: same client/server version - Usually okay: client version <= server version - Risky: client version > server version A few important caveats: - Prefect does have an API version header / server API version concept, but that is not the main compatibility guarantee - Prefect 3 versioning is not strict semver, so even minor version differences can matter - If the server is older than the client, Prefect will warn because newer clients may expect features the older server does not have So if you're asking, “They share the same API version, is that enough to assume no issues?” the answer is no. It improves compatibility, but the package version relationship still matters. Reference: - Prefect versioning and compatibility docs If you want, I can also give you a simple compatibility matrix for
client version
vs
server version
.
u
@Marvin Is it okay to have a Prefect client on version 3.6.21 and the server on version 3.7.5? The client is older than the server — will this cause any compatibility issues?
m
thought for 4.3 seconds
Yes — that is the supported direction. A
3.6.21
client talking to a
3.7.5
server is generally expected to work because: - both are on major version 3 - the client is older than the server That’s the safer compatibility pattern in Prefect 3.x. The main risky case is the reverse: newer client -> older server. That said, a couple of practical notes: - It’s still best to keep them on the same version when possible - Prefect does not use strict semver guarantees, so minor-version changes can occasionally introduce behavioral differences - If you hit something odd, upgrading the client closer to the server version is a good first troubleshooting step So in short: 3.6.21 client with 3.7.5 server should be fine in normal cases. Reference: - Prefect versioning and compatibility docs