| route-pattern | /_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format) |
| route-controller | voltron_pull_requests_fragments |
| route-action | pull_request_layout |
| fetch-nonce | v2:11c3dc4e-5854-bbc1-0d71-99be4a996e93 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | E282:2D0EDC:25F3A86:37264CC:6A5509C9 |
| html-safe-nonce | 34d792fe7abd52ca8ab970ecad93d443a465aaa12e043a1a5a2a70242a15a8a1 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMjgyOjJEMEVEQzoyNUYzQTg2OjM3MjY0Q0M6NkE1NTA5QzkiLCJ2aXNpdG9yX2lkIjoiODc1OTYxMzI4MTE3NjcxNzc2OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | f4dc407a2afe9af34aaf16f071f8a1de216c47e3f0825722b7dcb520e7851189 |
| hovercard-subject-tag | pull_request:3655997459 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///voltron/pull_requests_fragments/pull_request_layout |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/pythonnet/pythonnet/2721/pull_request_layout |
| twitter:image | https://opengraph.githubassets.com/5ae4a324fda380dd88967c1ae2cd453e516a5e0f3ac8a0599dac580ec69ea97e/pythonnet/pythonnet/pull/2721 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/5ae4a324fda380dd88967c1ae2cd453e516a5e0f3ac8a0599dac580ec69ea97e/pythonnet/pythonnet/pull/2721 |
| og:image:alt | First step toward Python 3.14 free-threaded (Py_GIL_DISABLED) support, tracked under #2720 (and the umbrella #2610).
After this PR, pythonnet runs the full pytest suite on python3.14t against both ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | greateggsgreg |
| hostname | github.com |
| expected-hostname | github.com |
| None | eae2aab99907699a22d2c8449aa683ca74454fca87211b98f7c7b722086b2839 |
| turbo-cache-control | no-cache |
| go-import | github.com/pythonnet/pythonnet git https://github.com/pythonnet/pythonnet.git |
| octolytics-dimension-user_id | 6050430 |
| octolytics-dimension-user_login | pythonnet |
| octolytics-dimension-repository_id | 14748123 |
| octolytics-dimension-repository_nwo | pythonnet/pythonnet |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 14748123 |
| octolytics-dimension-repository_network_root_nwo | pythonnet/pythonnet |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 6a35ab858be185cd86d12b93a43bccf34e8d8536 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/pythonnet/pythonnet/pull/2721#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpythonnet%2Fpythonnet%2Fpull%2F2721 |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub Copilot appDirect agents from issue to merge | https://github.com/features/ai/github-app |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| View all resources | https://github.com/resources |
| GitHub SponsorsFund open source developers | https://github.com/open-source/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/open-source/accelerator |
| GitHub Stars | https://stars.github.com |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/enterprise/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpythonnet%2Fpythonnet%2Fpull%2F2721 |
|
Sign up
| https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=pythonnet%2Fpythonnet |
| Reload | https://github.com/pythonnet/pythonnet/pull/2721 |
| Reload | https://github.com/pythonnet/pythonnet/pull/2721 |
| Reload | https://github.com/pythonnet/pythonnet/pull/2721 |
| Please reload this page | https://github.com/pythonnet/pythonnet/pull/2721 |
|
pythonnet
| https://github.com/pythonnet |
| pythonnet | https://github.com/pythonnet/pythonnet |
|
Notifications
| https://github.com/login?return_to=%2Fpythonnet%2Fpythonnet |
|
Fork
777
| https://github.com/login?return_to=%2Fpythonnet%2Fpythonnet |
|
Star
5.5k
| https://github.com/login?return_to=%2Fpythonnet%2Fpythonnet |
|
Code
| https://github.com/pythonnet/pythonnet |
|
Issues
151
| https://github.com/pythonnet/pythonnet/issues |
|
Pull requests
15
| https://github.com/pythonnet/pythonnet/pulls |
|
Discussions
| https://github.com/pythonnet/pythonnet/discussions |
|
Actions
| https://github.com/pythonnet/pythonnet/actions |
|
Projects
| https://github.com/pythonnet/pythonnet/projects |
|
Wiki
| https://github.com/pythonnet/pythonnet/wiki |
|
Security and quality
0
| https://github.com/pythonnet/pythonnet/security |
|
Insights
| https://github.com/pythonnet/pythonnet/pulse |
|
Code
| https://github.com/pythonnet/pythonnet |
|
Issues
| https://github.com/pythonnet/pythonnet/issues |
|
Pull requests
| https://github.com/pythonnet/pythonnet/pulls |
|
Discussions
| https://github.com/pythonnet/pythonnet/discussions |
|
Actions
| https://github.com/pythonnet/pythonnet/actions |
|
Projects
| https://github.com/pythonnet/pythonnet/projects |
|
Wiki
| https://github.com/pythonnet/pythonnet/wiki |
|
Security and quality
| https://github.com/pythonnet/pythonnet/security |
|
Insights
| https://github.com/pythonnet/pythonnet/pulse |
| greateggsgreg | https://github.com/greateggsgreg |
| pythonnet:master | https://github.com/pythonnet/pythonnet/tree/master |
| greateggsgreg:freethreading-prep | https://github.com/greateggsgreg/pythonnet/tree/freethreading-prep |
| Conversation | https://github.com/pythonnet/pythonnet/pull/2721 |
| Commits37 (37) | https://github.com/pythonnet/pythonnet/pull/2721/commits |
| Checks | https://github.com/pythonnet/pythonnet/pull/2721/checks |
| Files changed | https://github.com/pythonnet/pythonnet/pull/2721/files |
| Python 3.14 free-threaded support | https://github.com/pythonnet/pythonnet/pull/2721#top |
| greateggsgreg | https://github.com/greateggsgreg |
| pythonnet:master | https://github.com/pythonnet/pythonnet/tree/master |
| greateggsgreg:freethreading-prep | https://github.com/greateggsgreg/pythonnet/tree/freethreading-prep |
|
| https://github.com/greateggsgreg |
| greateggsgreg | https://github.com/greateggsgreg |
| May 9, 2026 | https://github.com/pythonnet/pythonnet/pull/2721#issue-4413950102 |
| Please reload this page | https://github.com/pythonnet/pythonnet/pull/2721 |
| #2720 | https://github.com/pythonnet/pythonnet/issues/2720 |
| #2610 | https://github.com/pythonnet/pythonnet/issues/2610 |
| Please reload this page | https://github.com/pythonnet/pythonnet/pull/2721 |
| https://github.com/greateggsgreg |
| greateggsgreg | https://github.com/greateggsgreg |
|
May 9, 2026
| https://github.com/pythonnet/pythonnet/pull/2721#ref-issue-4413945700 |
|
Python 3.14 free-threaded support
#2720
| https://github.com/pythonnet/pythonnet/issues/2720 |
| https://github.com/greateggsgreg |
| greateggsgreg | https://github.com/greateggsgreg |
| May 10, 2026 | https://github.com/pythonnet/pythonnet/pull/2721#event-25346516431 |
| https://github.com/greateggsgreg |
| greateggsgreg | https://github.com/greateggsgreg |
| force-pushed | https://github.com/pythonnet/pythonnet/compare/7f2934b6e87b80433ddca0430d78465bc3afd478..275a9f2ac8a2dc5a862c132560595905db1322ac |
| 7f2934b | https://github.com/pythonnet/pythonnet/commit/7f2934b6e87b80433ddca0430d78465bc3afd478 |
| 275a9f2 | https://github.com/pythonnet/pythonnet/commit/275a9f2ac8a2dc5a862c132560595905db1322ac |
|
Compare
| https://github.com/pythonnet/pythonnet/compare/7f2934b6e87b80433ddca0430d78465bc3afd478..275a9f2ac8a2dc5a862c132560595905db1322ac |
| May 10, 2026 13:09 | https://github.com/pythonnet/pythonnet/pull/2721#event-25353583889 |
| greateggsgreg | https://github.com/greateggsgreg |
|
May 12, 2026
| https://github.com/pythonnet/pythonnet/pull/2721#ref-commit-77bb910 |
|
| https://github.com/greateggsgreg |
| Auto-detect free-threaded libpython in venv home | https://github.com/greateggsgreg/pythonnet/commit/77bb910478c75670604bccb78f9fd351314af992 |
| 77bb910 | https://github.com/greateggsgreg/pythonnet/commit/77bb910478c75670604bccb78f9fd351314af992 |
| pythonnet#2721 | https://github.com/pythonnet/pythonnet/pull/2721 |
| https://github.com/filmor |
| filmor | https://github.com/filmor |
| force-pushed | https://github.com/pythonnet/pythonnet/compare/77bb910478c75670604bccb78f9fd351314af992..56e2ace2ce8554b7d11855eb1c974b7beaf34cf0 |
| 77bb910 | https://github.com/pythonnet/pythonnet/commit/77bb910478c75670604bccb78f9fd351314af992 |
| 56e2ace | https://github.com/pythonnet/pythonnet/commit/56e2ace2ce8554b7d11855eb1c974b7beaf34cf0 |
|
Compare
| https://github.com/pythonnet/pythonnet/compare/77bb910478c75670604bccb78f9fd351314af992..56e2ace2ce8554b7d11855eb1c974b7beaf34cf0 |
| May 12, 2026 20:25 | https://github.com/pythonnet/pythonnet/pull/2721#event-25449336053 |
| filmor | https://github.com/filmor |
|
May 12, 2026
| https://github.com/pythonnet/pythonnet/pull/2721#ref-commit-56e2ace |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Auto-detect free-threaded libpython in venv home | https://github.com/greateggsgreg/pythonnet/commit/56e2ace2ce8554b7d11855eb1c974b7beaf34cf0 |
| 56e2ace | https://github.com/greateggsgreg/pythonnet/commit/56e2ace2ce8554b7d11855eb1c974b7beaf34cf0 |
| pythonnet#2721 | https://github.com/pythonnet/pythonnet/pull/2721 |
| https://github.com/filmor |
| filmor | https://github.com/filmor |
| May 12, 2026 | https://github.com/pythonnet/pythonnet/pull/2721#issuecomment-4434510166 |
| Please reload this page | https://github.com/pythonnet/pythonnet/pull/2721 |
| greateggsgreg | https://github.com/greateggsgreg |
| May 15, 2026 22:21 | https://github.com/pythonnet/pythonnet/pull/2721#commits-pushed-ebd0a95 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Thread-safety prep for free-threading builds | https://github.com/pythonnet/pythonnet/pull/2721/commits/ebd0a95717fb69cb1fa274230b497807a06c8138 |
| ebd0a95 | https://github.com/pythonnet/pythonnet/pull/2721/commits/ebd0a95717fb69cb1fa274230b497807a06c8138 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Initialise pythonnet on free-threaded Python ( | https://github.com/pythonnet/pythonnet/pull/2721/commits/cf8372ad89d6cdf61829c7bf5142d16dd0cd426c |
| pythonnet#2720 | https://github.com/pythonnet/pythonnet/issues/2720 |
| ) | https://github.com/pythonnet/pythonnet/pull/2721/commits/cf8372ad89d6cdf61829c7bf5142d16dd0cd426c |
| cf8372a | https://github.com/pythonnet/pythonnet/pull/2721/commits/cf8372ad89d6cdf61829c7bf5142d16dd0cd426c |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Make extension/CLR-object registries thread-safe | https://github.com/pythonnet/pythonnet/pull/2721/commits/441954f7e589554c988ce1f7026115bcc88ad41b |
| 441954f | https://github.com/pythonnet/pythonnet/pull/2721/commits/441954f7e589554c988ce1f7026115bcc88ad41b |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Atomic type creation in ReflectedClrType.GetOrCreate / TypeManager.Ge… | https://github.com/pythonnet/pythonnet/pull/2721/commits/19c7f591be318824450ebd89d949d4db99f3f2f5 |
| 19c7f59 | https://github.com/pythonnet/pythonnet/pull/2721/commits/19c7f591be318824450ebd89d949d4db99f3f2f5 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Add free-threaded thread-stress tests and 3.14t to CI matrix | https://github.com/pythonnet/pythonnet/pull/2721/commits/1029c62c72f4a048d630477e573bbc177142af78 |
| 1029c62 | https://github.com/pythonnet/pythonnet/pull/2721/commits/1029c62c72f4a048d630477e573bbc177142af78 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Atomic GCHandle ownership and finalizer-thread shutdown guards | https://github.com/pythonnet/pythonnet/pull/2721/commits/3158ca5a57de6277296f67604fc0056b915e31b7 |
| 3158ca5 | https://github.com/pythonnet/pythonnet/pull/2721/commits/3158ca5a57de6277296f67604fc0056b915e31b7 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Make additional internal registries thread-safe | https://github.com/pythonnet/pythonnet/pull/2721/commits/11492952e27bab10d51919a9c0673e223b16a44d |
| 1149295 | https://github.com/pythonnet/pythonnet/pull/2721/commits/11492952e27bab10d51919a9c0673e223b16a44d |
| 2f08c98 | https://github.com/greateggsgreg/pythonnet/commit/2f08c98633cde2f52af43aca72f9e5f268bea797 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| test_thread: join worker threads before returning | https://github.com/pythonnet/pythonnet/pull/2721/commits/e8afa853766973f5a2c948cc5dd445a46689b987 |
| e8afa85 | https://github.com/pythonnet/pythonnet/pull/2721/commits/e8afa853766973f5a2c948cc5dd445a46689b987 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| test_thread: cover ModuleObject thread-safe registries | https://github.com/pythonnet/pythonnet/pull/2721/commits/3954df302a7a01480acfc78406430fddf9c0c3ef |
| 3954df3 | https://github.com/pythonnet/pythonnet/pull/2721/commits/3954df302a7a01480acfc78406430fddf9c0c3ef |
| 0a9d482 | https://github.com/greateggsgreg/pythonnet/commit/0a9d482dba393c08a637fe1bea35449b1e8532c5 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Wider thread-safety audit fixes for free-threaded Python | https://github.com/pythonnet/pythonnet/pull/2721/commits/28013af87cf80112e872bf95730ff4d6df03fa2b |
| 28013af | https://github.com/pythonnet/pythonnet/pull/2721/commits/28013af87cf80112e872bf95730ff4d6df03fa2b |
| a18e872 | https://github.com/greateggsgreg/pythonnet/commit/a18e8723f270f36d47d0c9574160d5dc7ea861c7 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Document lock acquisition sites and strong->weak GCHandle swap | https://github.com/pythonnet/pythonnet/pull/2721/commits/9a3dd59bb7e0d02ffe476fdebc37c1344804da48 |
| 9a3dd59 | https://github.com/pythonnet/pythonnet/pull/2721/commits/9a3dd59bb7e0d02ffe476fdebc37c1344804da48 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Preserve InternString single-write invariant under DEBUG | https://github.com/pythonnet/pythonnet/pull/2721/commits/cb1dcde69dbbdfa4f1e122ea1f214dda3e7caffd |
| cb1dcde | https://github.com/pythonnet/pythonnet/pull/2721/commits/cb1dcde69dbbdfa4f1e122ea1f214dda3e7caffd |
| 0a9d482 | https://github.com/greateggsgreg/pythonnet/commit/0a9d482dba393c08a637fe1bea35449b1e8532c5 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| test_thread: cover real-world consumer patterns | https://github.com/pythonnet/pythonnet/pull/2721/commits/74d12f14298d602510b15fc8881f0a626ea41abb |
| 74d12f1 | https://github.com/pythonnet/pythonnet/pull/2721/commits/74d12f14298d602510b15fc8881f0a626ea41abb |
| 92072bd | https://github.com/greateggsgreg/pythonnet/commit/92072bdd2047c3fdddbb0edbff173f93e82ac362 |
| pythonnet#2269 | https://github.com/pythonnet/pythonnet/issues/2269 |
| pythonnet#1407 | https://github.com/pythonnet/pythonnet/issues/1407 |
| pythonnet#821 | https://github.com/pythonnet/pythonnet/issues/821 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Auto-detect free-threaded libpython in venv home | https://github.com/pythonnet/pythonnet/pull/2721/commits/a30c84ec7fa70a3d9f6a3c59f6d7f0d67d77dde3 |
| a30c84e | https://github.com/pythonnet/pythonnet/pull/2721/commits/a30c84ec7fa70a3d9f6a3c59f6d7f0d67d77dde3 |
| pythonnet#2721 | https://github.com/pythonnet/pythonnet/pull/2721 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Snapshot pypath, use ConcurrentDictionary for thunks and slot holders | https://github.com/pythonnet/pythonnet/pull/2721/commits/be5ba3473218927187d278f2b24877bee3165266 |
| be5ba34 | https://github.com/pythonnet/pythonnet/pull/2721/commits/be5ba3473218927187d278f2b24877bee3165266 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Fix handling of python runtime suffixes m/t | https://github.com/pythonnet/pythonnet/pull/2721/commits/946785e9c09707aa235b04110f9e6fe2f272b258 |
| 946785e | https://github.com/pythonnet/pythonnet/pull/2721/commits/946785e9c09707aa235b04110f9e6fe2f272b258 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Fix threadtest race | https://github.com/pythonnet/pythonnet/pull/2721/commits/77ca4972edbefabec8e76beb56fff09f3e1000e6 |
| 77ca497 | https://github.com/pythonnet/pythonnet/pull/2721/commits/77ca4972edbefabec8e76beb56fff09f3e1000e6 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Fix double-free in chained ClassDerived Finalize | https://github.com/pythonnet/pythonnet/pull/2721/commits/af518bb57bfc5f3eaf0529a20b1f7d716112e8ff |
| af518bb | https://github.com/pythonnet/pythonnet/pull/2721/commits/af518bb57bfc5f3eaf0529a20b1f7d716112e8ff |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Enable Mono CI jobs on free-threaded Python 3.14 | https://github.com/pythonnet/pythonnet/pull/2721/commits/ed735ac587ad1847c9a2d90643c31a138f138cb0 |
| ed735ac | https://github.com/pythonnet/pythonnet/pull/2721/commits/ed735ac587ad1847c9a2d90643c31a138f138cb0 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Inline freethreaded_only as pytest.mark.skipif at call sites | https://github.com/pythonnet/pythonnet/pull/2721/commits/bd3f0bfef07a01f4b8120b117507fc68ddefc461 |
| bd3f0bf | https://github.com/pythonnet/pythonnet/pull/2721/commits/bd3f0bfef07a01f4b8120b117507fc68ddefc461 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
| Fix InterruptTest assertion on free-threaded Python 3.14 | https://github.com/pythonnet/pythonnet/pull/2721/commits/c4688b39676d74442154806b909810aa93461b3d |
| c4688b3 | https://github.com/pythonnet/pythonnet/pull/2721/commits/c4688b39676d74442154806b909810aa93461b3d |
| https://github.com/filmor |
| filmor | https://github.com/filmor |
| force-pushed | https://github.com/pythonnet/pythonnet/compare/8795938756b156ac614e5c6a7323e03088dc8e37..c4688b39676d74442154806b909810aa93461b3d |
| 8795938 | https://github.com/pythonnet/pythonnet/commit/8795938756b156ac614e5c6a7323e03088dc8e37 |
| c4688b3 | https://github.com/pythonnet/pythonnet/commit/c4688b39676d74442154806b909810aa93461b3d |
|
Compare
| https://github.com/pythonnet/pythonnet/compare/8795938756b156ac614e5c6a7323e03088dc8e37..c4688b39676d74442154806b909810aa93461b3d |
| May 15, 2026 20:21 | https://github.com/pythonnet/pythonnet/pull/2721#event-25591833624 |
|
| https://github.com/greateggsgreg |
| Add concurrent stress tests for PyBuffer.Dispose and CLR-cycle gc.col… | https://github.com/pythonnet/pythonnet/pull/2721/commits/84cd07cebb327ff1a68272adc6e0a61db9c55e3f |
| 84cd07c | https://github.com/pythonnet/pythonnet/pull/2721/commits/84cd07cebb327ff1a68272adc6e0a61db9c55e3f |
| greateggsgreg | https://github.com/greateggsgreg |
| May 15, 2026 18:10 | https://github.com/pythonnet/pythonnet/pull/2721#commits-pushed-d9b658d |
|
| https://github.com/greateggsgreg |
| Trim concurrent overhead on hot paths from free-threading prep | https://github.com/pythonnet/pythonnet/pull/2721/commits/d9b658dc283c3a9a5f291eac06730161d123e1d4 |
| d9b658d | https://github.com/pythonnet/pythonnet/pull/2721/commits/d9b658dc283c3a9a5f291eac06730161d123e1d4 |
|
| https://github.com/greateggsgreg |
| Pre-warm ctor binder in concurrent-gc test to avoid first-call race | https://github.com/pythonnet/pythonnet/pull/2721/commits/20c51ad560ec5af4dddcf8b1dee5bf25e3cd7161 |
| 20c51ad | https://github.com/pythonnet/pythonnet/pull/2721/commits/20c51ad560ec5af4dddcf8b1dee5bf25e3cd7161 |
|
| https://github.com/greateggsgreg |
| Make MethodBinder.GetMethods lazy init thread-safe under free-threading | https://github.com/pythonnet/pythonnet/pull/2721/commits/f5f8ab0dd32abcbd992a19d86d742aaf012ef3ea |
| f5f8ab0 | https://github.com/pythonnet/pythonnet/pull/2721/commits/f5f8ab0dd32abcbd992a19d86d742aaf012ef3ea |
|
| https://github.com/greateggsgreg |
| Precompute method precedence to avoid quadratic GetParameters allocat… | https://github.com/pythonnet/pythonnet/pull/2721/commits/c5097ebaf563ccbf0196e5acab30a6a55b1bef7b |
| c5097eb | https://github.com/pythonnet/pythonnet/pull/2721/commits/c5097ebaf563ccbf0196e5acab30a6a55b1bef7b |
|
| https://github.com/greateggsgreg |
| Zero the slot in ClassDerived.tp_dealloc when tp_clear already ran to… | https://github.com/pythonnet/pythonnet/pull/2721/commits/18e4901b6f329afe4d0a35be86bc702e8c95b46a |
| 18e4901 | https://github.com/pythonnet/pythonnet/pull/2721/commits/18e4901b6f329afe4d0a35be86bc702e8c95b46a |
|
| https://github.com/greateggsgreg |
| Keep ClassDerived wrapper alive across the NewObjectToPython slot dem… | https://github.com/pythonnet/pythonnet/pull/2721/commits/e0569d0f46a05f3c91517867a9fad1d719e35abb |
| e0569d0 | https://github.com/pythonnet/pythonnet/pull/2721/commits/e0569d0f46a05f3c91517867a9fad1d719e35abb |
|
| https://github.com/greateggsgreg |
| Document private helpers added during free-threading prep | https://github.com/pythonnet/pythonnet/pull/2721/commits/2c9f861ed2be795a57a861b356a63b44f1c1aae6 |
| 2c9f861 | https://github.com/pythonnet/pythonnet/pull/2721/commits/2c9f861ed2be795a57a861b356a63b44f1c1aae6 |
|
| https://github.com/greateggsgreg |
| Add debug echoes and a 6-minute step timeout to the Mono test job | https://github.com/pythonnet/pythonnet/pull/2721/commits/ee3add404dbc34ddf6a7d84c7351884a811e6c99 |
| ee3add4 | https://github.com/pythonnet/pythonnet/pull/2721/commits/ee3add404dbc34ddf6a7d84c7351884a811e6c99 |
|
| https://github.com/greateggsgreg |
| Drop the per-loop CLR GC.Collect from concurrent-gc test to avoid Mon… | https://github.com/pythonnet/pythonnet/pull/2721/commits/414ce700d6e127e6f769f95105e7bec503614baa |
| 414ce70 | https://github.com/pythonnet/pythonnet/pull/2721/commits/414ce700d6e127e6f769f95105e7bec503614baa |
|
| https://github.com/greateggsgreg |
| Add temporary Mono-step diagnostics on Linux/macOS to locate the x64-… | https://github.com/pythonnet/pythonnet/pull/2721/commits/99a99db0646cc5e81a74074eadeb67d16a9fa99c |
| 99a99db | https://github.com/pythonnet/pythonnet/pull/2721/commits/99a99db0646cc5e81a74074eadeb67d16a9fa99c |
|
| https://github.com/greateggsgreg |
| Revert temporary Mono-step diagnostics now that the underlying race i… | https://github.com/pythonnet/pythonnet/pull/2721/commits/8e7c2bac47579bcbcc0cdca997ab6d8850424ae0 |
| 8e7c2ba | https://github.com/pythonnet/pythonnet/pull/2721/commits/8e7c2bac47579bcbcc0cdca997ab6d8850424ae0 |
|
| https://github.com/greateggsgreg |
| Merge branch 'master' into freethreading-prep | https://github.com/pythonnet/pythonnet/pull/2721/commits/f8b69a21cb12c6ac0a01c66c4e1165e7cbaf2afa |
| f8b69a2 | https://github.com/pythonnet/pythonnet/pull/2721/commits/f8b69a21cb12c6ac0a01c66c4e1165e7cbaf2afa |
|
| https://github.com/greateggsgreg |
| Add user-facing threading guide covering GIL, free-threading, and com… | https://github.com/pythonnet/pythonnet/pull/2721/commits/8f2804ca6498f2d152cf1a3ed864526554220413 |
| 8f2804c | https://github.com/pythonnet/pythonnet/pull/2721/commits/8f2804ca6498f2d152cf1a3ed864526554220413 |
|
| https://github.com/greateggsgreg |
| Harden CollectBasicObject against .NET-GC timing differences | https://github.com/pythonnet/pythonnet/pull/2721/commits/9c369edb84e5d9b110aaa2ab0b2d6eeb7208238a |
| 9c369ed | https://github.com/pythonnet/pythonnet/pull/2721/commits/9c369edb84e5d9b110aaa2ab0b2d6eeb7208238a |
|
| https://github.com/greateggsgreg |
| Merge branch 'master' into freethreading-prep | https://github.com/pythonnet/pythonnet/pull/2721/commits/d1b4daae358028400bfe95a4ef356717f07637a4 |
| d1b4daa | https://github.com/pythonnet/pythonnet/pull/2721/commits/d1b4daae358028400bfe95a4ef356717f07637a4 |
| https://github.co/hiddenchars |
| https://github.com/pythonnet/pythonnet/pull/{{ revealButtonHref }} |
| Sign up for free | https://github.com/join?source=comment-repo |
| Sign in to comment | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpythonnet%2Fpythonnet%2Fpull%2F2721 |
| Please reload this page | https://github.com/pythonnet/pythonnet/pull/2721 |
|
| https://github.com/greateggsgreg |
|
| https://github.com/filmor |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |