From patchwork Thu Sep 3 14:51:51 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kieran Bingham X-Patchwork-Id: 28186 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 43C38C334B for ; Thu, 3 Sep 2026 14:53:20 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 3E8CE685E2; Thu, 3 Sep 2026 16:53:17 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="TY+ModGG"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 5398B685E1 for ; Thu, 3 Sep 2026 16:53:15 +0200 (CEST) Received: from ping.linuxembedded.co.uk (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 5FB8D2590; Thu, 3 Sep 2026 16:51:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1788447103; bh=a6HvTJ1WXsp+BLNMPbhuGLZO/uM4rfbAw90D3RyfCtc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=TY+ModGGBtCM+i2NaxJLNetZGlwpa7tyFo6UdDKU8uIKzPPf4KSQrOBz2rRXEhYoP z7QvjygmuzXOscojCrwC1bwwAAKtu5vNn+zGDvpqb9anWDoEQLwGpwSV82mylo5dRI +Fcm0HkicoM8pA7QLLbWIl6kIAzfomJ6iKx3UhzU= From: Kieran Bingham Date: Thu, 03 Sep 2026 15:51:51 +0100 Subject: [PATCH 2/3] Documentation: contributing: Add ABI/API trailer guide MIME-Version: 1.0 Message-Id: <20260903-kbingham-abi-trailers-v1-2-72ae051c912a@ideasonboard.com> References: <20260903-kbingham-abi-trailers-v1-0-72ae051c912a@ideasonboard.com> In-Reply-To: <20260903-kbingham-abi-trailers-v1-0-72ae051c912a@ideasonboard.com> To: libcamera-devel@lists.libcamera.org Cc: Kieran Bingham X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788447194; l=1591; i=kieran.bingham@ideasonboard.com; s=20260207; h=from:subject:message-id; bh=a6HvTJ1WXsp+BLNMPbhuGLZO/uM4rfbAw90D3RyfCtc=; b=SNO102KDqch2MnMtyrkeKCMOuEr0DCKIj+S2Rx+bjGPt5GXSjJDKwZ/EgLFkmm6mH4uvJ7RtM 8/SWX3uhqMLAcR8tJqj3qLGZ9Tp3FuNywQl9tybHsZGUTqv1NzS2KKA X-Developer-Key: i=kieran.bingham@ideasonboard.com; a=ed25519; pk=FVXKN7YuwHc6UtbRUeTMAmranfsQomA+vnilfglWdaY= X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Document the requirement to specify when commits knowingly change either the ABI or public API of libcamera. Future enhancements to the CI infrastructure can use these tags to accept changes which knowingly break the ABI/API and prevent unknown ABI or API breakages to be merged. Signed-off-by: Kieran Bingham --- Documentation/contributing.rst | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Documentation/contributing.rst b/Documentation/contributing.rst index 20682d56c75d..2588da4e224d 100644 --- a/Documentation/contributing.rst +++ b/Documentation/contributing.rst @@ -71,6 +71,27 @@ Freedesktop also provides our CI and `testing pipeline`_. .. _testing pipeline: https://gitlab.freedesktop.org/camera/libcamera/-/pipelines +ABI and API Stability +--------------------- + +We provide a script `./utils/abi-compat.sh` which can be run to detect and +report any ABI or API breakage in the public interfaces. + +Contributions which knowingly break the ABI or API should specify this in the +commit message with one of the following trailer examples. + +The CI testing suite may choose to reject contributions which cause an ABI or +API breakage but do not specify the effect in the commit log. + +:: + + ABI: struct IPAModuleInfo: + Field pipelineName has been removed from the middle position of this + structural type. + + API: struct IPAModuleInfo: + Field pipelineName has been removed from this type. + Issue Tracker -------------