brandur.org

APacIa

Of mild interest, Stripe has announced a new API release process. Two named API versions a year will be released, named after plants (e.g. “acacia”), and presumably following an A-Z scheme similar to Ubuntu naming.

Previously, API changes roughly followed this procedure:

  • Non-breaking changes went out after they’d been reviewed and whenever they became available.
  • A new API version (named with only its date of release) was cut for breaking changes. If multiple breaking changes happily coincided around the same time, they’d be coordinated for simultaneous release.

By my reading, the new scheme seems to be largely the same, except that non-breaking changes would be held for a monthly release on the current version, and breaking changes would be held for up to six months

I suppose the benefit of the new approach is that it gives users a more predictable cadence for breaking changes. Optimistically, maybe it gets them in the habit of updating their API version twice a year. Even more optimistically, maybe it starts to pave the path for a format deprecation lifecycle so that ancient API versions could eventually be retired.