Prof. Dr. Cesare Pautasso

How Are Web APIs Versioned in Practice? A Large-Scale Empirical Study

Souhaila Serbout, Cesare Pautasso

Journal of Web Engineering, vol. 23, pp.465-506

August 2024

Abstract

Web APIs form the cornerstone of modern software ecosystems, facilitating seamless data exchange and service integration. Ensuring the compatibility and longevity of these APIs is paramount. This study delves into the intricate realm of API versioning practices, a crucial mechanism for managing API evolution. Exploring an expanded and diverse dataset of 603 293 APIs specifications created during the 2015–2023 timeframe and gathered from four different sources, we examined the adoption of the following versioning practices: Metadata-based, URL-based, Header-based and Dynamic versioning, with one or more versions in production. API developers use more than 50 different version identifier formats to encode information about the changes introduced with respect to the previous version (i.e., semantic versioning), about when the version was released (i.e., age versioning) and about which phase of the API development lifecycle the version belongs (i.e., stable vs. preview releases).

Download

URL: https://journals.riverpublishers.com/index.php/JWE/article/view/26595/20349

DOI: 10.13052/jwe1540-9589.2341

PDF: ▼apiace-jwe-2024.pdf (2MB)

Citation

Bibtex

@article{apiace:2024:jwe,
	author = {Souhaila Serbout and Cesare Pautasso},
	title = {How Are Web APIs Versioned in Practice? A Large-Scale Empirical Study},
	journal = {Journal of Web Engineering},
	volume = {23},
	year = {2024},
	month = {August},
	pages = {465-506},
	abstract = {Web APIs form the cornerstone of modern software ecosystems, facilitating seamless data exchange and service integration. Ensuring the compatibility and longevity of these APIs is paramount. This study delves into the intricate realm of API versioning practices, a crucial mechanism for managing API evolution. Exploring an expanded and diverse dataset of 603 293 APIs specifications created during the 2015\textendash2023 timeframe and gathered from four different sources, we examined the adoption of the following versioning practices: Metadata-based, URL-based, Header-based and Dynamic versioning, with one or more versions in production. API developers use more than 50 different version identifier formats to encode information about the changes introduced with respect to the previous version (i.e., semantic versioning), about when the version was released (i.e., age versioning) and about which phase of the API development lifecycle the version belongs (i.e., stable vs. preview releases).},
	keywords = {API Analytics, API Versioning},
	doi = {10.13052/jwe1540-9589.2341},
	url = {https://journals.riverpublishers.com/index.php/JWE/article/view/26595/20349}
}