NestJS supports three versioning strategies: URI (/v1/users), HEADER, and MEDIA_TYPE. Enable it with app.enableVersioning({ type: VersioningType.URI }), then annotate controllers or individual routes with @Version('1').
URI versioning — version appears in the URL path: /v1/users.
Header versioning — version is passed in a custom request header.
Media type versioning — version is embedded in the Accept header.