# When cleaning up this file: bump API version in corresponding Makefile.am and rename corresponding debian/lib*.install
# according to https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html#Updating-version-info
# In short:
# LIBVERSION=c:r:a
# If the library source code has changed at all since the last update, then increment revision: c:r + 1:a.
# If any interfaces have been added, removed, or changed since the last update: c + 1:0:0.
# If any interfaces have been added since the last public release: c:r:a + 1.
# If any interfaces have been removed or changed since the last public release: c:r:0.
#library	what		description / commit summary line
manual				needs common chapter cs7-config.adoc from osmo-gsm-manuals > 0.3.0
libosmocore	struct gsm0808_diagnostics	Depends on libosmocore > 1.3.0
libosmocore	gsm0808_diagnostics_octet_location_str()	Depends on libosmocore > 1.3.0
libosmocore	gsm0808_diagnostics_bit_location_str()	Depends on libosmocore > 1.3.0
