Skip to content

Update docs for Python 3.15 support. - #945

Draft
junkmd wants to merge 3 commits into
enthought:mainfrom
junkmd:py315_support
Draft

junkmd wants to merge 3 commits into
enthought:mainfrom
junkmd:py315_support

Conversation

@junkmd

@junkmd junkmd commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

1. Summary

This PR updates the project documentation to clarify Python 3.15 compatibility and the release status for enum-related issues.
It also adds a dedicated guide for the native C++ COM test server so the purpose, safety expectations, and CI requirements are documented explicitly.

2. Motivation & Background

Python 3.15 introduces changes in enum/IntFlag behavior that affected older comtypes releases.
The README now makes the compatibility status clear: versions up to 1.4.17 had issues with Python 3.15 enum behavior, while 1.5.0 is the release that supports Python 3.15.
This change is intended to reduce confusion for users and make the release boundary easier to understand.

Alongside that, the project adds a native COM test server README to document why a real native test double is needed, how it should be maintained, and what expectations exist for registration, unregistration, and CI verification.
This supports reliable cross-boundary COM testing without relying on ambient third-party components.

3. Key Changes

  • README.md:
    • Updated the Python 3.15 availability note to clarify the enum compatibility issue and the fact that version 1.5.0 supports Python 3.15.
  • source/CppTestSrv/README.md:
    • Added documentation for the native C++ COM test server, including its purpose, modification policies, memory safety expectations, deterministic validation rules, and CI/registration requirements.

@junkmd junkmd added this to the 1.5.0 / Support Python 3.15 milestone Sep 21, 2026
@codecov-commenter

codecov-commenter commented Sep 21, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.34%. Comparing base (91408c2) to head (4925800).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #945   +/-   ##
=======================================
  Coverage   89.34%   89.34%           
=======================================
  Files         142      142           
  Lines       13856    13856           
=======================================
  Hits        12380    12380           
  Misses       1476     1476           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@junkmd junkmd linked an issue Sep 21, 2026 that may be closed by this pull request
@junkmd
junkmd force-pushed the py315_support branch 3 times, most recently from 3563782 to 26bd33b Compare September 26, 2026 03:17
@junkmd
junkmd force-pushed the py315_support branch 3 times, most recently from 437ea3b to bd7e5b9 Compare October 4, 2026 09:04
@junkmd
junkmd force-pushed the py315_support branch 3 times, most recently from c9fbbb4 to a5f8b9a Compare October 4, 2026 11:20
@junkmd

junkmd commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator Author

Once Python 3.15 is officially listed as "stable": true and "final" in the versions manifest (https://github.com/actions/python-versions/blob/main/versions-manifest.json), allowing it to be used in CI without allow-prereleases: true, we can release Version 1.5.0 of this package.

@junkmd junkmd linked an issue Oct 5, 2026 that may be closed by this pull request
@junkmd junkmd added enhancement New feature or request shared_info use cases, tips and troubleshoots labels Oct 5, 2026
@junkmd
junkmd changed the base branch from main to add_py315_to_ci_pipeline October 9, 2026 00:27
@junkmd
junkmd marked this pull request as ready for review October 9, 2026 00:28
@junkmd
junkmd marked this pull request as draft October 9, 2026 00:30
@junkmd
junkmd changed the base branch from add_py315_to_ci_pipeline to py_315_enum October 9, 2026 00:40
@junkmd
junkmd changed the base branch from py_315_enum to main October 9, 2026 14:29
@junkmd
junkmd force-pushed the py315_support branch 2 times, most recently from 99694d5 to e91d263 Compare October 9, 2026 14:46
@junkmd junkmd changed the title Supprt Python 3.15 with breaking changes. Breaking changes with Python 3.15 support. Oct 9, 2026
@junkmd junkmd changed the title Breaking changes with Python 3.15 support. Update docs for Python 3.15 support. Oct 13, 2026
Add `README.md` to `source/CppTestSrv/` detailing:
- The purpose and architecture of the native out-of-process COM test server
- Policies for modifying and adding test doubles, including interface stability, memory conventions, and CI/multi-architecture coordination
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request shared_info use cases, tips and troubleshoots

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants