From 38f5b3506e36145df2fb763228f1293ac844c660 Mon Sep 17 00:00:00 2001 From: DevForge Engineer Date: Mon, 18 May 2026 15:22:43 -0400 Subject: [PATCH 1/2] fix: add Python 3.13 classifier to match CI test matrix --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 213cd1c..0099ee7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,6 +19,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] dependencies = [ "typer>=0.9.0", From fd86d897a70c8c8c8e31c3d80f737e287a61c403 Mon Sep 17 00:00:00 2001 From: DevForge Engineer Date: Mon, 18 May 2026 17:52:59 -0400 Subject: [PATCH 2/2] test: add property-level enum value removal test Adds test coverage for the property-level enum_values_removed detection in _diff_schema_details. The schema-level test existed but property-level enum removal was untested (lines 559-561 in diff.py). Coverage impact: diff.py 99% -> 100% --- tests/test_diff.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tests/test_diff.py b/tests/test_diff.py index 7f262bd..f9f21eb 100644 --- a/tests/test_diff.py +++ b/tests/test_diff.py @@ -546,6 +546,33 @@ def test_enum_values_removed_breaking(self): result = diff_specs(old, new) assert any(c.kind == "enum_values_removed" for c in result.changes) + def test_property_enum_values_removed_breaking(self): + """Property-level enum value removed is detected as breaking.""" + old = _make_spec(schemas={ + "Status": { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": ["active", "inactive", "pending"], + }, + }, + }, + }) + new = _make_spec(schemas={ + "Status": { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": ["active", "inactive"], + }, + }, + }, + }) + result = diff_specs(old, new) + assert any(c.kind == "enum_values_removed" for c in result.changes) + def test_no_schema_changes(self): old = _make_spec(schemas={"User": {"type": "object", "properties": {"id": {"type": "string"}}}}) new = _make_spec(schemas={"User": {"type": "object", "properties": {"id": {"type": "string"}}}})