db0@lemmy.dbzer0.com to Programmer Humor@programming.dev · 1 month agoThat shadowy placelemmy.dbzer0.comimagemessage-square40fedilinkarrow-up11.03Karrow-down10
arrow-up11.03Karrow-down1imageThat shadowy placelemmy.dbzer0.comdb0@lemmy.dbzer0.com to Programmer Humor@programming.dev · 1 month agomessage-square40fedilink
minus-squarebleistift2@sopuli.xyzlinkfedilinkEnglisharrow-up21·1 month agolocation /old_api { redirect /new_api } (can’t be bothered to check the syntax).
minus-squareCosmicTurtle0@lemmy.dbzer0.comlinkfedilinkEnglisharrow-up18·1 month agoIf you have a major version change, it means that old API calls will break against the new API, assuming they are accurately following semver.
minus-squarebleistift2@sopuli.xyzlinkfedilinkEnglisharrow-up15·1 month agoYou’re absolutely right. In my mind “feature parity” got garbled into “backwards compatibility”.
minus-squareLongpork3@lemmy.nzlinkfedilinkarrow-up2arrow-down1·1 month agoA translation layer could be used, no? Check api version, translate any v1 specific calls into their v2 counterparts, then submit the v2 request?
minus-squareCosmicTurtle0@lemmy.dbzer0.comlinkfedilinkEnglisharrow-up2·1 month agoThis isn’t really efficient because when v2 gets updated now you have to update the translation layer as well. Any improvements you made in v2 would likely not translate. Essentially the best way is to provide users with an incentive to switch. Perhaps a new feature or more requests.
minus-squarePieisawesome@lemmy.dbzer0.comlinkfedilinkEnglisharrow-up1·30 days agoPublish v3, then add a translation layer for v2 to v3
(can’t be bothered to check the syntax).
If you have a major version change, it means that old API calls will break against the new API, assuming they are accurately following semver.
You’re absolutely right. In my mind “feature parity” got garbled into “backwards compatibility”.
A translation layer could be used, no? Check api version, translate any v1 specific calls into their v2 counterparts, then submit the v2 request?
This isn’t really efficient because when v2 gets updated now you have to update the translation layer as well.
Any improvements you made in v2 would likely not translate.
Essentially the best way is to provide users with an incentive to switch. Perhaps a new feature or more requests.
Publish v3, then add a translation layer for v2 to v3