Strategies
URL versioning (REST):
/v1/users → old schema
/v2/users → new schema
Both versions run simultaneously; clients migrate on their schedule.
Package versioning (gRPC):
package myapp.v1;
package myapp.v2;
Run both services simultaneously; route clients to v2 during migration.
Header versioning:
Accept: application/vnd.myapp.v2+json
One endpoint; version negotiated per request. More complex but single URL.