From 211ae764fdbf585d1cf3d17dddad346b42a93f98 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Fri, 13 Jul 2018 08:40:56 -0400 Subject: Initial pass on API stability guarantees This introduces -DWLR_USE_UNSTABLE and adds information regarding the stability status to all headers. I started with a conservative set of headers to mark as stable: - types/wlr_matrix.h - util/edges.h - util/log.h - util/region.h - xcursor.h --- include/wlr/util/edges.h | 16 ++++++++++++++++ include/wlr/util/log.h | 16 ++++++++++++++++ include/wlr/util/region.h | 17 ++++++++++++++++- 3 files changed, 48 insertions(+), 1 deletion(-) (limited to 'include/wlr/util') diff --git a/include/wlr/util/edges.h b/include/wlr/util/edges.h index 53268323..bf1eb1e7 100644 --- a/include/wlr/util/edges.h +++ b/include/wlr/util/edges.h @@ -1,3 +1,19 @@ +/* + * This is a stable interface of wlroots. Future changes will be limited to: + * + * - New functions + * - New struct members + * - New enum members + * + * Note that wlroots does not make an ABI compatibility promise - in the future, + * the layout and size of structs used by wlroots may change, requiring code + * depending on this header to be recompiled (but not edited). + * + * Breaking changes are announced by email and follow a 1-year deprecation + * schedule. Send an email to ~sircmpwn/wlroots-announce+subscribe@lists.sr.ht + * to receive these announcements. + */ + #ifndef WLR_UTIL_EDGES_H #define WLR_UTIL_EDGES_H diff --git a/include/wlr/util/log.h b/include/wlr/util/log.h index 098a020d..7b0070bb 100644 --- a/include/wlr/util/log.h +++ b/include/wlr/util/log.h @@ -1,3 +1,19 @@ +/* + * This is a stable interface of wlroots. Future changes will be limited to: + * + * - New functions + * - New struct members + * - New enum members + * + * Note that wlroots does not make an ABI compatibility promise - in the future, + * the layout and size of structs used by wlroots may change, requiring code + * depending on this header to be recompiled (but not edited). + * + * Breaking changes are announced by email and follow a 1-year deprecation + * schedule. Send an email to ~sircmpwn/wlroots-announce+subscribe@lists.sr.ht + * to receive these announcements. + */ + #ifndef WLR_UTIL_LOG_H #define WLR_UTIL_LOG_H diff --git a/include/wlr/util/region.h b/include/wlr/util/region.h index c0fe6063..32387bfb 100644 --- a/include/wlr/util/region.h +++ b/include/wlr/util/region.h @@ -1,6 +1,21 @@ +/* + * This is a stable interface of wlroots. Future changes will be limited to: + * + * - New functions + * - New struct members + * - New enum members + * + * Note that wlroots does not make an ABI compatibility promise - in the future, + * the layout and size of structs used by wlroots may change, requiring code + * depending on this header to be recompiled (but not edited). + * + * Breaking changes are announced by email and follow a 1-year deprecation + * schedule. Send an email to ~sircmpwn/wlroots-announce+subscribe@lists.sr.ht + * to receive these announcements. + */ + #ifndef WLR_UTIL_REGION_H #define WLR_UTIL_REGION_H - #include #include -- cgit v1.2.3