Skip to content

v1.4.1 release#15

Merged
dvoraj75 merged 3 commits intomainfrom
develop
Mar 12, 2026
Merged

v1.4.1 release#15
dvoraj75 merged 3 commits intomainfrom
develop

Conversation

@dvoraj75
Copy link
Owner

This pull request updates the minimum supported Python version from 3.13 to 3.11 and improves the system's resilience to network errors. Now, network errors during polling will no longer cause the PR store to be wiped; instead, the daemon preserves the last-known-good state and avoids unnecessary notifications when connectivity is restored. The CI workflow is also enhanced to test across multiple Python versions, with some steps limited to a specific version to avoid redundancy. Documentation, configuration, and test cases have been updated to reflect these changes.

Python version support and configuration:

  • Lowered the minimum required Python version from 3.13 to 3.11 in pyproject.toml, documentation, CI, and user-facing badges. Added PyPI classifiers for Python 3.11, 3.12, and 3.14. Updated Ruff and mypy configuration to target Python 3.11. (.github/CONTRIBUTING.md [1] pyproject.toml [2] [3] [4] [5] docs/development.md [6] [7] [8] README.md [9] .github/ISSUE_TEMPLATE/bug_report.yml [10]

CI improvements:

  • Changed CI to test on a matrix of Python 3.11–3.14. Coverage comments and dependency audits are now only run for Python 3.13 to avoid duplicate comments and redundant audit runs. (.github/workflows/ci.yml [1] [2] [3] .github/workflows/publish.yml [4]

Error handling and robustness:

  • Improved error handling in the poller: network errors after all retries now raise exceptions to the daemon instead of returning an empty list, ensuring the daemon preserves the last-known-good PR state and avoids spurious notifications after recovery. (forgewatch/poller.py [1] docs/architecture.md [2] [3] docs/modules/poller.md [4] [5]

Testing enhancements:

  • Added and updated tests to verify that network errors preserve the PR store state and do not trigger spurious notifications after network recovery. Also updated poller tests to expect exceptions on network errors and zero retries. (tests/test_daemon.py [1] tests/test_poller.py [2] [3] [4]

Changelog and version bump:

  • Bumped version to 1.4.1 and documented all above changes and fixes in the changelog. (CHANGELOG.md [1] pyproject.toml [2]

These changes collectively improve compatibility, reliability, and developer experience.

@github-actions
Copy link

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
1700 1657 97% 90% 🟢

New Files

No new covered files...

Modified Files

File Coverage Status
forgewatch/poller.py 96% 🟢
TOTAL 96% 🟢

updated for commit: b87061f by action🐍

@dvoraj75 dvoraj75 merged commit 13b3e45 into main Mar 12, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant