# 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
update libosmocore dependency to > 1.5.1 for OSMO_SOCK_F_{DSCP,PRIO}()
libosmo-abis	new member	ipa_client_conn new struct members dscp, priority
libosmo-abis	new member	ipa_server_link new struct members dscp, priority
