Files
speckle-server/.agent/skills/api-patterns/versioning.md
T
huanld d1871b3979
Release pipeline / Get version (push) Has been cancelled
Release pipeline / Get Chart Name (push) Has been cancelled
Release pipeline / tests (push) Has been cancelled
Release pipeline / builds (push) Has been cancelled
Release pipeline / builds-ghcr (push) Has been cancelled
Release pipeline / test-deployments (push) Has been cancelled
Release pipeline / deploy (push) Has been cancelled
Release pipeline / Helm chart oci (push) Has been cancelled
Release pipeline / npm (push) Has been cancelled
Release pipeline / snyk (push) Has been cancelled
chore: apply viewer optimizations, tailscale networking fixes, and Dev environment configurations
2026-04-16 13:55:08 +07:00

651 B

Versioning Strategies

Plan for API evolution from day one.

Decision Factors

Strategy Implementation Trade-offs
URI /v1/users Clear, easy caching
Header Accept-Version: 1 Cleaner URLs, harder discovery
Query ?version=1 Easy to add, messy
None Evolve carefully Best for internal, risky for public

Versioning Philosophy

Consider:
├── Public API? → Version in URI
├── Internal only? → May not need versioning
├── GraphQL? → Typically no versions (evolve schema)
├── tRPC? → Types enforce compatibility