From 38158071d93faa179f6a810eba80cabba834252b Mon Sep 17 00:00:00 2001 From: Robin Jarry Date: Mon, 24 Nov 2025 21:19:33 +0100 Subject: [PATCH 1/5] ci: enable jobs for the 3.x stable branch In order to trigger the deploy job on push on the stable branch, change the trigger conditions. Signed-off-by: Robin Jarry --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2177a27..e420ec6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,10 +6,10 @@ name: CI on: pull_request: branches: - - master + - b_3.x push: branches: - - master + - b_3.x tags: - v* From 911eadb3a3109415b0e8159a3ad21332b37cb40e Mon Sep 17 00:00:00 2001 From: Christian Hopps Date: Sun, 14 Dec 2025 04:38:49 +0000 Subject: [PATCH 2/5] ci: add master back to workflow triggers Github needs to see all the triggers on the master branch version of this file for them to work. We should keep the same triggers on the release branch. Signed-off-by: Christian Hopps --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e420ec6..19e3392 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,9 +6,11 @@ name: CI on: pull_request: branches: + - master - b_3.x push: branches: + - master - b_3.x tags: - v* From fff364a3a954132f28f9bc0291892370ebed8601 Mon Sep 17 00:00:00 2001 From: Christian Hopps Date: Sun, 12 Oct 2025 05:41:20 +0000 Subject: [PATCH 3/5] ci: update commit range to check For the release branch, update the makefile `check-commits` rule to check the new commits on the release branch. Signed-off-by: Christian Hopps --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index fc9a6ea..a9241e0 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ tests: format: tox -e format -LYPY_COMMIT_RANGE ?= origin/master.. +LYPY_COMMIT_RANGE ?= origin/b_3.x.. check-commits: ./check-commits.sh $(LYPY_COMMIT_RANGE) From 8e185d40bbfe754e0269f604cec312bf3efd9903 Mon Sep 17 00:00:00 2001 From: Christian Hopps Date: Wed, 12 Nov 2025 13:23:00 -0500 Subject: [PATCH 4/5] ci: run tests with libyang v3.13.6 Set upstream libyang branch to the latest v3 release rather than the default of master. Signed-off-by: Christian Hopps --- tox.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tox.ini b/tox.ini index 524ad49..895ba55 100644 --- a/tox.ini +++ b/tox.ini @@ -14,6 +14,8 @@ install_command = {toxinidir}/tox-install.sh {envdir} {opts} {packages} allowlist_externals = {toxinidir}/tox-install.sh commands = python -Wd -m unittest discover -c +setenv = + LIBYANG_BRANCH=v3.13.6 # On v3 branch test using last libyang v3 release [testenv:lydevel] setenv = From dee9f6081e0039288f7a63f42e537a052ac2c8c1 Mon Sep 17 00:00:00 2001 From: Christian Hopps Date: Sun, 14 Dec 2025 05:52:10 +0000 Subject: [PATCH 5/5] doc: update README with libyang v3 info - Update the compatibility section to reference libyang v1, libyang v2, and the "current" libyang v3. - Add a section with information about maintaining the v3 compatibility branch. Signed-off-by: Christian Hopps --- README.rst | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index 4ea8977..ceb5146 100644 --- a/README.rst +++ b/README.rst @@ -43,12 +43,14 @@ On a Debian/Ubuntu system:: Compatibility ------------- -The current version requires at least C `libyang 2.25`__. - -The last version of the bindings that works with C `libyang 1.x`__ is v1.7.0__. - -__ https://github.com/CESNET/libyang/commit/d2f1608b348f -__ https://github.com/CESNET/libyang/tree/libyang1 +- This version requires at least `libyang 3.1.0`__ (`libyang.so 3.2.0`__) and + does not work with libyang v4 or later. +- The last version of this package that works with libyang 2.x is `v2.8.4`__. +- The last version of this package that works with libyang 1.x is `v1.7.0`__. + +__ https://github.com/CESNET/libyang/releases/tag/v3.1.0 +__ https://github.com/CESNET/libyang/commit/5109b8149cfc +__ https://pypi.org/project/libyang/2.8.4/ __ https://pypi.org/project/libyang/1.7.0/ Compilation Flags @@ -321,3 +323,22 @@ Here are the steps for submitting a change in the code base: your topic branch. Thank you in advance for your contributions! + +Libyang v3 Compatibility Branch +------------------------------- + +Libyang v3 compatibility is being maintained for now using the `b_3.x`__ branch. + +For contributors, v3 specific changes should be made with a PR against the +`b_3.x`__ branch; however, if the change is valid for more recent libyang releases +as well (e.g., v4) then the change should first be made with a PR against the +`master`__ branch. + +For maintainers, in order to create new v3 releases on pypi.org, a git push of a +signed/annotated tag on that branch following the pattern v3.x.y where x and y +are positive integers. Semantic versions should be used where it makes sense. +The CI will take care of the rest. + +__ https://github.com/CESNET/libyang-python/tree/b_3.x +__ https://github.com/CESNET/libyang-python/tree/b_3.x +__ https://github.com/CESNET/libyang-python