Grade the todo MCP against 3.14 too, not just run on it
Some checks failed
dependency freshness / dependencies on newest stable (push) Has been cancelled
file-length / file length <= 250 lines (push) Has been cancelled
md-naming / markdown naming convention (push) Has been cancelled
release-apk / release (APK) (push) Has been cancelled

ruff and mypy were still grading `mcp/` against 3.10 while `requires-python`
had already moved to 3.14, so `datetime.timezone.utc` survived where
`datetime.UTC` is now correct (UP017). `pin_ci_python.py` rewrites the knobs;
ruff's `--select UP,I,F401 --fix` did the rest.

`mcp/` has no ruff hook in `.pre-commit-config.yaml`, so it also carries six
pre-existing CPY001 (missing copyright notice) findings. Those fire identically
at py310 and are left alone -- they are not this change's to fix.

24 tests pass at 100% line and branch coverage.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SfnJmxxsZ534AKk16rC2Gr
This commit is contained in:
Krzysztof Rudnicki 2026-08-29 11:46:10 +02:00
parent f3facdd2ee
commit 951b00e263
3 changed files with 5 additions and 5 deletions

View File

@ -19,7 +19,7 @@ include = ["todo_mcp*"]
# RUFF - Fast Python linter and formatter
# ============================================================================
[tool.ruff]
target-version = "py310"
target-version = "py314"
include = ["*.py", "**/*.py"]
exclude = [".git", ".venv", "__pycache__", "build", "dist", ".eggs"]
@ -65,7 +65,7 @@ docstring-code-format = true
# MYPY - Static type checker
# ============================================================================
[tool.mypy]
python_version = "3.10"
python_version = "3.14"
strict = true
warn_return_any = true
warn_unused_configs = true

View File

@ -23,7 +23,7 @@ file yields a graceful "please export it" message rather than an error.
from __future__ import annotations
from datetime import datetime, timezone
from datetime import UTC, datetime
import logging
import os
from pathlib import Path
@ -83,7 +83,7 @@ def _load_backlog() -> tuple[bool, list[Note], str | None]:
stat = path.stat()
except OSError:
return False, [], None
mtime = datetime.fromtimestamp(stat.st_mtime, tz=timezone.utc).isoformat()
mtime = datetime.fromtimestamp(stat.st_mtime, tz=UTC).isoformat()
notes = parse_backlog(path.read_text(encoding="utf-8"))
return True, notes, mtime

View File

@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 1.0.31+1
version: 1.0.32+1
environment:
sdk: ^3.12.2