From f9fa8b96d92163126039afcb97d47449bbe7e4f4 Mon Sep 17 00:00:00 2001 From: Giovanny Rodriguez Date: Tue, 13 Oct 2026 12:46:30 -0500 Subject: [PATCH] chore: release 2.0.1 (metadata, README status and stability plan) Co-Authored-By: Claude Opus 5.5 Signed-off-by: Giovanny Rodriguez --- CHANGELOG.md | 15 ++++++++++++++- README.md | 2 ++ glpi_utils/__init__.py | 2 +- setup.cfg | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3551ebc..263ea2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,20 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm --- -## [Unreleased] +## [2.0.1] – 2026-10-13 + +No behaviour changes from 2.0.0 (type annotations and import order only). This +release updates the package metadata and the +README shown on PyPI (supported GLPI versions, project status). + +### Changed + +- **Status and stability plan in the README.** The project stays Beta. It + becomes stable in 2.1.0 after four consecutive weeks of passing integration + runs (GLPI 10, 11, 12) with no public API change. From then on, the public + API is the names exported by `glpi_utils` and `glpi_utils.oauth` without a + leading underscore. Removing or changing one needs a new major version and is + preceded by at least one minor release with a `DeprecationWarning`. ### Removed diff --git a/README.md b/README.md index 0850346..6b5d9c2 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,8 @@ Guides and API reference: **https://giovanny07.github.io/python-glpi-utils/** Beta, actively maintained. Releases follow [semantic versioning](https://semver.org/) and every change is listed in the [CHANGELOG](https://github.com/giovanny07/python-glpi-utils/blob/main/CHANGELOG.md). The legacy clients are the most stable part. The OAuth2 clients follow GLPI's High-Level API, which is still evolving, and their behaviour changed in 1.4 and 1.5. +The plan is to declare the library stable in 2.1.0. That needs four consecutive weeks of passing integration runs against GLPI 10, 11 and 12, counted from 2026-10-13, with no change to the public API in that time. From then on, the public API is every name exported by `glpi_utils` and `glpi_utils.oauth` that does not start with an underscore. Removing or changing any of those names will need a new major version, and will be preceded by at least one minor release in which the old form emits a `DeprecationWarning`. + Unit tests run in CI on Python 3.9 to 3.13. Integration tests run both clients, sync and async, against official `glpi/glpi` containers: the latest patch of GLPI 10.0 (legacy API), 11.0 and 12.0 (legacy API and every High-Level API version the server offers), on every pull request and weekly. GLPI 9.x is not supported. ## Contributing diff --git a/glpi_utils/__init__.py b/glpi_utils/__init__.py index f009a33..6aa4210 100644 --- a/glpi_utils/__init__.py +++ b/glpi_utils/__init__.py @@ -44,7 +44,7 @@ from .oauth import AsyncGlpiOAuthClient, GlpiOAuthClient from .version import GLPIVersion -__version__ = "2.0.0" +__version__ = "2.0.1" __all__ = [ # Clients diff --git a/setup.cfg b/setup.cfg index 6571a4b..64ee839 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = glpi-utils -version = 2.0.0 +version = 2.0.1 author = Giovanny Rodriguez author_email = giovanny@imagunet.com description = Python client for GLPI's legacy REST API and OAuth2 High-Level API, sync or async (GLPI 10 to 12)