-
-
Notifications
You must be signed in to change notification settings - Fork 104
Support Python 3.14 and drop Python 3.8. #839
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #839 +/- ##
==========================================
- Coverage 84.72% 84.69% -0.03%
==========================================
Files 125 125
Lines 11566 11532 -34
==========================================
- Hits 9799 9767 -32
+ Misses 1767 1765 -2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
f7a127c to
0dd80a7
Compare
878c331 to
cfbfdf9
Compare
8ffec8f to
0d7925a
Compare
8950024 to
9256fa0
Compare
ctypes.POINTER() caching mechanism updated in Python 3.14.d444361 to
f3b304e
Compare
|
I added version bridges to the See also python/cpython@8d0e07e, python/cpython#133237, python/cpython#61103, and python/cpython#136847. |
f3b304e to
ca93263
Compare
to accommodate the changes in `ctypes` in Python 3.14, including the deprecation of `_pointer_type_cache` and the introduction of the `__pointer_type__` attribute protocol.
to accommodate the changes in `ctypes` in Python 3.14, including the deprecation of `_pointer_type_cache` and the introduction of the `__pointer_type__` attribute protocol.
In Python 3.14, changes to the underlying C structures in `ctypes` require more explicit control over memory layout. This change enforces 8-byte alignment, which correctly pads the structure and ensures that the `value` field is accessed at the correct offset. This is critical for preventing memory corruption and maintaining compatibility on both 32-bit and 64-bit systems.
ca93263 to
25c0198
Compare
.github/workflows/autotest.yml
Outdated
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
| architecture: ${{ matrix.architecture }} | ||
| allow-prereleases: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python 3.14 have been released. You can remove this line.
.github/workflows/autotest.yml
Outdated
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
| architecture: ${{ matrix.architecture }} | ||
| allow-prereleases: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python 3.14 have been released. You can remove this line.
|
Due to frequent test failures, comtypes/comtypes/test/test_comserver.py Lines 144 to 149 in 1e2577a
|
See #837 and #848 (comment).