db0@lemmy.dbzer0.com to Programmer Humor@programming.dev · 18 dni temuThat shadowy placelemmy.dbzer0.comimagemessage-square40fedilinkarrow-up11.03Karrow-down10
arrow-up11.03Karrow-down1imageThat shadowy placelemmy.dbzer0.comdb0@lemmy.dbzer0.com to Programmer Humor@programming.dev · 18 dni temumessage-square40fedilink
minus-squarebleistift2@sopuli.xyzlinkfedilinkEnglisharrow-up21·18 dni temulocation /old_api { redirect /new_api } (can’t be bothered to check the syntax).
minus-squareCosmicTurtle0@lemmy.dbzer0.comlinkfedilinkEnglisharrow-up18·18 dni temuIf 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·18 dni temuYou’re absolutely right. In my mind “feature parity” got garbled into “backwards compatibility”.
minus-squareLongpork3@lemmy.nzlinkfedilinkarrow-up2arrow-down1·18 dni temuA 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·18 dni temuThis 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·16 dni temuPublish 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