From 98f0d51157fa2a2b8ccaae54ed4850a88d223d01 Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Tue, 13 Oct 2026 15:05:06 +0300 Subject: Simplify surface state, examples, and library installation --- docs/api-policy.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'docs/api-policy.md') diff --git a/docs/api-policy.md b/docs/api-policy.md index 0c8f040..dd22ca7 100644 --- a/docs/api-policy.md +++ b/docs/api-policy.md @@ -1,16 +1,17 @@ # Public API policy -YASL 0.1 is pre-release. The installed headers are the public API; implementation +YASL 0.1 is pre-release. The headers under `include/yasl/` are the public API; implementation headers under `src/` are private even when their symbols appear in a static -archive. The shared library exports only declarations from installed headers. -Native backend headers and accessors are available only for built backends. +archive. The shared library exports only declarations from public headers. +Native backend accessors are exported only for built backends. Installation +copies only the shared and static libraries; use matching source-tree headers. There is currently no stable ABI promise and no versioned shared-library SONAME. Rebuild consumers against the exact headers/library pair they ship. Source and binary compatibility can change before 1.0. Do not assume struct layout is stable across releases, mix headers and binaries from different revisions, or persist -public structs as a file/network format. The package version is available through -`pkg-config --modversion yasl`. +public structs as a file/network format. The release version is declared in +`meson.build`. See [migration notes](migrating.md) for window creation, portable keyboard, and fractional scroll API changes. @@ -28,7 +29,7 @@ Every public addition or behavior change needs: - An update to the guide and its backend limits when observable behavior changes. - A runnable example when the new workflow cannot be understood from an isolated call, and meaningful regression coverage for ownership or behavior changes. -- A check that shared exports and installed-package consumers still work. +- A check that shared exports and consumers of the installed library still work. Functions documenting errno set it on failure. Other booleans report acceptance or availability without a guaranteed errno; void setters are best effort. -- cgit v1.2.3