* Fix UTF-8 startup option precedence and refresh canonical tests
Resolve the first explicit UTF-8 option before environment validation and align startup diagnostics with CPython 3.15. Refresh canonical encoding tests through update_lib and narrow the existing environment test failure to Windows. Support only monotonic expected-failure narrowing in updater metadata with focused regression tests.
Assisted-by: OpenAI Codex: model version unavailable
* Normalize configured standard-stream codec names
Resolve explicit stdio encodings through CodecInfo.name before creating standard streams, matching CPython initialization. Preserve ordinary TextIOWrapper spelling and existing standard-stream error policies; leave canonical tests unchanged.
Assisted-by: OpenAI Codex: model version unavailable
* Retire passing standard-stream UTF-8 expected failure
The configured-codec normalization fix makes canonical test_stdio pass in both Linux CI attempts. Remove only its stale expectedFailure through update_lib, preserving canonical assertions and all other platform guards.
Assisted-by: OpenAI Codex: model version unavailable
---------
Co-authored-by: Codex <codex@openai.com>
* Sync site startup processing and tests with CPython 3.15
Preserve existing RustPython identity, path expectations, and four _pth expected failures via explicit updater metadata.
Assisted-by: OpenAI Codex: model version unavailable
* Honor standalone executable ._pth startup configuration
Apply explicit path isolation before CLI environment settings, preserve canonical empty-file and prefix handling, and retire three expected failures proven by test_site.
Assisted-by: OpenAI Codex: model version unavailable
* Retire passing Windows underpth expectation
The canonical DLL-named test passed in both Windows CI attempts on e1527c53. Remove only its obsolete expectedFailure through update_lib.
Assisted-by: OpenAI Codex: model version unavailable
---------
Co-authored-by: Codex <codex@openai.com>
* Update Windows registry behavior and canonical 3.15 tests
Add DeleteTree with nullable wide paths, audit emission, native errors, and thread release; compare HKEY handles as CPython does while retaining upstream identity hashing. Migrate canonical winreg and winapi tests from CPython d220409a13b77de7a6c30abe16ea90db01528edc.
Assisted-by: OpenAI Codex: model version unavailable
* Accept nullable subkeys in winreg OpenKey
Keep sub_key required while accepting None, matching CPython and the canonical HKEY comparison test prerequisite. Forward a null path to RegOpenKeyExW, retain owned wide strings across thread release, and emit the input and result audit events without leaking the returned handle on an audit error.
Assisted-by: OpenAI Codex: model version unavailable
---------
Co-authored-by: Codex <codex@openai.com>
Add e, Zf and Zd storage, typecode routing, component byteswap and portable pickle decoding, preserving half float32 narrowing and complex sequence comparison semantics. Migrate test_array unchanged from CPython d220409 via update_lib. Replace byte-allocation ownership casts with aligned typed copies and correct signed pickle format selection.
Assisted-by: OpenAI Codex: model version unavailable
Co-authored-by: Codex <codex@openai.com>
Accept only native-width negative aliases of RLIM_INFINITY with a deprecation warning, and expose available saved-limit constants. Migrate test_resource from CPython d220409a13b77de7a6c30abe16ea90db01528edc using scripts/update_lib, retaining the existing crash skip.
Assisted-by: OpenAI Codex: model version unavailable
Co-authored-by: Codex <codex@openai.com>
Sync canonical fcntl/ioctl tests through update_lib and preserve owned syscall buffers across blocking calls.
Assisted-by: OpenAI Codex: model version unavailable
Co-authored-by: Codex <codex@openai.com>
Follow Rust container memory accounting and migrate the canonical Python 3.15 queue tests with scripts/update_lib. Mark only the CPython-specific object-layout size assertion as expectedFailure through explicit updater metadata.
Assisted-by: OpenAI Codex: model version unavailable
Co-authored-by: Codex <codex@openai.com>
* Support Python 3.15 zlib checksum combination and version deprecation
Forward checksum combination to the existing zlib-rs backend, retaining CPython checksum masking, conversion warnings, and signed length bounds. Deprecate __version__ through module __getattr__. Sync the canonical test_zlib with scripts/update_lib.
Implementation and source review assisted by OpenAI Codex; focused compilation and Clippy passed. Canonical runtime tests remain pending.
Assisted-by: OpenAI Codex: model version unavailable
* Fix zlib combine ABI conversions for cross-platform Clippy
Mark checksum results must-use and make the C unsigned-long and length conversions explicit per ABI. Preserve Windows GNU's 32-bit z_off64_t and large-file length handling without lint suppression.
OpenAI Codex assisted with implementation and source review. Standalone common-crate Clippy passed; Windows validation remains with CI.
Assisted-by: OpenAI Codex: model version unavailable
---------
Co-authored-by: Codex <codex@openai.com>
* Add canonical cross-interpreter serialization tests and fixture bridges
Import the complete CPython test_crossinterp module and provide its capsule bridges using existing serialization and validation logic. Keep fixture modes private instead of expanding SharedValue or interpreter lifecycle APIs.
Assisted-by: OpenAI Codex: model version unavailable
* Simplify canonical cross-interpreter fixture dispatch
Match CPython 3.15.0 mode dispatch with one private constructor instead of six forwarding entry points. Keep generic marshal data distinct from code transport, preserve capsule ownership checks and pure-script validation, and leave the canonical tests unchanged.
Assisted-by: OpenAI Codex: model version unavailable
---------
Co-authored-by: youknowdot <336763669+youknowdot@users.noreply.github.com>
* scripts: make check_redundant_patches.py executable
The redundant-test-patches pre-commit hook uses `language: script`, which
requires the executable bit, and fails on every commit touching Lib/test.
Assisted-by: Claude:claude-sonnet-5-5
* csv: support non-ASCII Unicode dialect characters
Store delimiter, quotechar and escapechar as `char` instead of `u8`, and
run the reader state machine and the writer over code points, so that a
single non-ASCII character such as `€` is accepted like in CPython. The
field size limit is now counted in characters rather than bytes.
Fixes#8408
Assisted-by: Claude:claude-sonnet-5-5
* Align XML parsing and libraries with Python 3.15
Retain the existing XML backend accounting changes and their explicit registry publication limitation. Preserve canonical XML tests and existing RustPython guards, including multiline marker explanations through update_lib.
Assisted-by: OpenAI Codex:model version unavailable
* Retire proven XML guards and sync canonical consumers
Assisted-by: OpenAI Codex:model version unavailable
* Rebase vendored xml onto 1.4.0
Replace the vendored crate sources with the published xml 1.4.0 archive
and reapply the amplification accounting patch on top of it. The two
lexer hunks that conflicted with the new line-ending normalization are
merged into the 1.4.0 read loop. The patch no longer normalizes CR in
entity values or collapses CRLF in attribute values, because the 1.4.0
lexer and attribute reader already do so.
Update the checksums, recorded upstream commit, archive hash and
provenance notes, and require version 1.4 for the path dependency.
Assisted-by: Claude Code:claude-opus-5-5
* Remove stale SAX external resolver expected failure
Linux and macOS canonical CI both demonstrate that the existing
unsupported-scheme resolver test passes. Retire only its expected-failure
decorator through update_lib, preserving its canonical assertions.
This does not implement external DTD parsing.
AI assistance: dot diagnosed CI, migrated the marker, and reviewed the
source delta and normal-hook validation; the model version is not exposed.
Assisted-by: dot: model version not exposed
---------
Co-authored-by: Jeong YunWon <jeong@youknowone.org>
Co-authored-by: youknowdot <336763669+youknowdot@users.noreply.github.com>
* Support PEP 798 comprehension unpacking
Extract the remaining Python 3.15 comprehension unpacking implementation
from the integration branch. Use existing list/set/dict update operations
and an explicit inner iterator loop for generator unpacking. Align the
public DictComp AST representation and schema with CPython.
Migrate test_unpack_ex and test_unparse with scripts/update_lib from
CPython d220409a13b77de7a6c30abe16ea90db01528edc. Preserve existing Rust tests;
add no duplicate regression tests or snippets.
AI-assisted source extraction, canonical migration, and independent source
review with OpenAI Codex. Runtime validation is not yet complete.
Assisted-by: OpenAI Codex:model version unavailable
* Improve selected unpacking diagnostics and refresh canonical exception tests
Normalize six supported comprehension-unpacking diagnostics using existing parser context. Restrict the dictionary-spread hint to its first entry to avoid changing unrelated diagnostics.
Migrate the whole test_exceptions module from CPython d220409a13b77de7a6c30abe16ea90db01528edc with the existing updater, preserving only its two existing RustPython markers. Ruff sources and dependency pins are unchanged.
Six focused check/build/strict Clippy gates passed. A paired 34-input compile-only comparison retains six canonical diagnostic improvements, with eight of fifteen canonical cases still differing; this is not full test_exceptions or CI validation.
* Fix mapping-rest error locations and retire stale encoding xfail
* Match remaining unpacking diagnostics without changing Ruff
Use exact retained AST and error ownership to normalize the remaining CPython 3.15 unpacking diagnostics. Reparse only the owned call argument slice with the unchanged Ruff parser when its original recovery loses generator clauses.
Validated all 30 canonical compile-only cases in exec and doctest-style single modes against CPython 3.15.0, plus finite surrounding controls. Targeted compiler Clippy and source-bound builds passed. Full CI is pending. Cspell alone was omitted with the maintainer’s explicit one-commit approval because its npm bootstrap downloads returned HTTP 403; all other applicable configured commit hooks ran.
AI assistance: dot authored, reviewed, and validated the changes. The runtime does not expose its exact model version.
Assisted-by: dot: model version not exposed
---------
Co-authored-by: Codex <codex@openai.com>
* Preserve Unicode in thread unraisable messages
Keep the callable representation as WTF-8 for unraisable hooks and audit callbacks. Preserve the existing String entry point and stderr fallback; this does not claim lossless stderr rendering.
Assisted-by: OpenAI Codex:model unavailable
* Use the WTF-8 string conversion constructor
Use the existing From<&str> implementation to copy the message prefix without changing Unicode semantics.
Assisted-by: OpenAI Codex:model unavailable
* Preserve cross-interpreter marshal error causes
Wrap failures from existing code/function serialization helpers as NotShareableError, matching the CPython 3.15 marshal boundary while retaining the original exception cause. No new test C API or lifecycle behavior.
Assisted-by: OpenAI Codex:model-unavailable
* Enforce syslog interpreter boundaries and sync queue cleanup
Reject subinterpreter openlog/closelog before audit or host mutation, and
reject implicit syslog opening after audit when the process logger is not
already open, matching CPython 3.15 guard placement and error text.
Already-open logging and setlogmask remain unchanged.
Migrate concurrent/interpreters/_queues.py through scripts/update_lib to
CPython d220409a13b77de7a6c30abe16ea90db01528edc, removing unused eager
pickle import and exception targets. Native serialization imports pickle
on demand; module import timing and debug locals may nevertheless differ.
No new fixtures or interpreter lifecycle mechanisms are introduced.
Assisted-by: OpenAI Codex:model version unavailable
Copy curses frontend sources and canonical curses, DBM, Tcl and DTrace
integration tests from CPython v3.15.0 through update_lib. Preserve
upstream optional-native/resource/configuration gates and canonical file
modes, without adding native implementations or custom skips.
Validate source identity, hooks and default/frozen compile-only checks.
Native runtime integration and probe execution remain unvalidated.
Assisted-by: OpenAI Codex: model version unavailable
Copy the remaining live collector package, related canonical tests, and
Python logo asset from CPython v3.15.0 through update_lib. Keep source
availability distinct from supported live sampling or curses execution.
Exclude the child monitor and its tests: introducing that module would
activate --subprocesses before native child discovery is implemented.
Preserve all upstream resource gates without adding skips or shims.
Assisted-by: OpenAI Codex: model version unavailable
Import test_async.py and test_profiler.py with scripts/update_lib migrate
from CPython 3.15.0 at d220409a13b77de7a6c30abe16ea90db01528edc.
Validate the 37 existing offline async graph and statistics-rendering
tests without changing canonical assertions or markers.
Assisted-by: OpenAI Codex: model version unavailable
Import the CLI, entry point, error type, coordinator dependency, and CLI
tests with scripts/update_lib migrate from CPython 3.15.0 at
d220409a13b77de7a6c30abe16ea90db01528edc.
This frontend follows the existing offline collector/codec support. Live
attach, run, and dump remain unsupported and unvalidated.
Assisted-by: OpenAI Codex: model version unavailable
Import the unchanged Python 3.15.0 fixture with the official library updater
and retire the missing-fixture expectedFailure after validating the existing
distance and threshold tests. Preserve all assertions and unrelated markers.
Assisted-by: OpenAI Codex: model version unavailable
* Align offline profiler argument binding with Python 3.15
Accept the canonical keyword names for binary sample writes and native
context exits. Resolve the argument layout before numeric callbacks,
then preserve float-subclass payloads while accepting numeric protocols
for required and optional profile statistics.
AI-assisted source extraction, implementation, and source review with
OpenAI Codex. Runtime validation remains pending.
Assisted-by: OpenAI Codex:model version unavailable
* Restore the offline profiler capability flag
Preserve the original mega branch's zero-valued process_vm_readv
capability export. The native live unwinder remains unsupported; this
restores the public feature query without claiming live inspection support
or changing canonical test helpers.
AI-assisted source preservation and review with OpenAI Codex.
Assisted-by: OpenAI Codex:model version unavailable
* Restore finite-EOF table bounds for offline profiles
Match CPython's EOF-wide table count and decoding windows while retaining
checked offsets, allocation limits, cursor bounds, and replay checks.
This restores the original mega's finite-file contract without changing
canonical tests or the already validated argument-binding implementation.
Assisted-by: OpenAI Codex:model version unavailable
* Preserve symtable warning exceptions and original filenames (#9282)
Keep warning-hook exceptions untouched instead of rewriting SyntaxError
subclasses. Thread the original Python filename through parser warning
emission and fresh warning-as-error SyntaxError construction, preserving
fsdecoded bytes paths and lone surrogates.
Assisted-by: OpenAI Codex:model-version-unavailable
* build(deps): align the Cranelift 0.136 dependency family (#9341)
* build(deps): bump the wasmtime group across 1 directory with 2 updates
Bumps the wasmtime group with 2 updates in the / directory: [cranelift](https://github.com/bytecodealliance/wasmtime) and [cranelift-module](https://github.com/bytecodealliance/wasmtime).
Updates `cranelift` from 0.135.2 to 0.136.3
- [Release notes](https://github.com/bytecodealliance/wasmtime/releases)
- [Changelog](https://github.com/bytecodealliance/wasmtime/blob/main/RELEASES.md)
- [Commits](https://github.com/bytecodealliance/wasmtime/commits)
Updates `cranelift-module` from 0.135.3 to 0.136.3
- [Release notes](https://github.com/bytecodealliance/wasmtime/releases)
- [Changelog](https://github.com/bytecodealliance/wasmtime/blob/main/RELEASES.md)
- [Commits](https://github.com/bytecodealliance/wasmtime/commits)
---
updated-dependencies:
- dependency-name: cranelift
dependency-version: 0.136.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: wasmtime
- dependency-name: cranelift-module
dependency-version: 0.136.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: wasmtime
...
Signed-off-by: dependabot[bot] <support@github.com>
* Align cranelift-jit with the 0.136 dependency family
Update cranelift-jit alongside cranelift and cranelift-module so the JIT shares their LibCall, FuncId, and Module trait identities. Regenerate only the affected dependency lock entries, preserving the original dependency PR changes.
AI assistance covered the dependency diagnosis, alignment, and static review.
Assisted-by: OpenAI Codex:model-version-unavailable
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Support selective canonical function migration
Add hash-pinned function selection to the official Lib migration tool,
preserving canonical source bytes and rejecting ambiguous dependencies.
Assisted-by: OpenAI Codex:model version unavailable
* Detect CPython runtimes for canonical inspection feature checks
Add native runtime-cookie detection and import the exact Python 3.15
inspection helpers and tests through the official Lib migration tool.
Preserve the offline profiler argument and finite-EOF corrections.
Assisted-by: OpenAI Codex:model version unavailable
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Sync Python 3.15 core library tests and repr type errors
Synchronize ten selected library paths from CPython 3.15.0 at
d220409a13b77de7a6c30abe16ea90db01528edc using the canonical updater,
retaining existing RustPython adapters and failure markers.
Match generic __repr__ invalid-result errors to the qualified type-name
format required by the canonical ExceptionGroup regression, preserving
string results and exceptions raised by the implementation.
Implementation, source review, and validation were AI-assisted. The model
version identifier is unavailable; automated checks are not human
verification. Bounded validation covers 43 passes and one canonical skip,
not the full repository suites.
Assisted-by: OpenAI Codex:model version unavailable
* Preserve original escape decoder consumed length after callbacks
Keep the original input length as consumed after successful unicode-escape
and raw-unicode-escape decoding, including error-handler input replacement.
Only report the current cursor when a non-final decode stops on incomplete
input, matching CPython's codec wrappers and incomplete exits.
Fix the canonical Unicode escape mutation regression that failed CI on
Linux, macOS and Windows. Preserve all Lib tests and existing assertions.
Bounded Linux validation: 55 passes and one canonical skip, CLI build and
strict common/VM Clippy passed. Full repository suites were not run.
Implementation, source review, and validation were AI-assisted. The model
version identifier is unavailable; automated checks are not human
verification.
Assisted-by: OpenAI Codex:model version unavailable
---------
Co-authored-by: youknowdot <336763669+youknowdot@users.noreply.github.com>
Migrate nine substantial stdlib and canonical test modules from CPython
v3.15.0 through scripts/update_lib, preserving RustPython adaptations.
Include offline stack formatting without live process inspection or
changes to the held profiling frontend and test-support closure.
Assisted-by: Codex:unknown
Regenerate eight canonical language and container test modules using
scripts/update_lib at CPython d220409a13b77de7a6c30abe16ea90db01528edc.
Retain RustPython adaptations except the formatting expected-failure
marker confirmed stale by an XPASS and a subsequent unmarked pass.
AI-assisted source selection, synchronization, dependency review and
bounded validation using OpenAI Codex.
Assisted-by: Codex:unknown
* Allow same-size bytearray.resize with exported buffers
Use the existing export snapshot or exclusive payload access to allow
same-size requests without a recursive read lock in codec callbacks.
Continue rejecting exported length changes and preserve zero filling.
Enable the CPython regression and consolidate resize coverage in the
existing bytearray snippet, including a bounded concurrent callback test.
Assisted-by: Codex:GPT-6
* remove redundant tests
Regenerate bdb, pdb, codeop, modulefinder and the canonical modulefinder
test using scripts/update_lib at CPython 3.15.0
d220409a13b77de7a6c30abe16ea90db01528edc.
AI-assisted source selection, synchronization, dependency review and
bounded validation using OpenAI Codex.
Assisted-by: Codex:unknown
* Align ctypes call ownership and C error state with Python 3.15
Keep native raised errors separate from handled exceptions and preserve them across teardown callbacks. Import the related canonical ctypes call and type contracts.
Assisted-by: OpenAI Codex: model version unavailable
* Enumerate ctypes shared libraries natively on Linux and Android
Copy loader-owned names before Python filesystem decoding and update the related canonical ctypes utility and discovery tests from CPython 3.15. Preserve existing platform paths and dllist test markers.
Assisted-by: OpenAI Codex: model version unavailable
* Enable canonical dllist system enumeration coverage on Linux
Regenerate the pinned test through update_lib patches with reviewed marker data. Preserve other platform conditions and the unavailable extension-fixture guard.
Assisted-by: OpenAI Codex: model version unavailable
* Match Python float and long-double C argument representations
Use the existing Python float formatter for float and double C argument representations. Keep long-double arguments on the canonical generic-address representation path. Preserve the unchanged canonical parameter repr assertions.
Assisted-by: OpenAI Codex: model version unavailable
Regenerate nine canonical modules using scripts/update_lib at CPython
3.15.0 d220409a13b77de7a6c30abe16ea90db01528edc. Keep the discovery
package split out until its missing test family is available.
AI-assisted source selection, synchronization, review and bounded
validation using OpenAI Codex. No native capability claims are added.
Assisted-by: Codex:unknown
* Use globals module names for eval and exec warnings
Forward the supplied scope module through compilation warnings while
preserving typed compile entrypoints and missing-name filename fallback.
* Retire the resolved exec warning-filter expected failure
Regenerate test_builtin through update_lib with all other adaptations
preserved after hosted CI reports the canonical method succeeds.
* Add deterministic profiler and canonical Python 3.15 tools
Use the merged operation critical sections with interpreter-bound profiler
entry checks and short payload borrows. Trace owned code references for GC.
Import the canonical tracing and offline profiling output closure via the
repository updater, retaining existing test markers.
Assisted-by: dot:GPT-6.1
* Clarify standalone profiling license cross-reference
Preserve license terms and copyright notices; point to the reproduced
Apache text below instead of CPython's original OpenSSL section above.
Assisted-by: dot:GPT-6.1
* Defer unsupported sampling package from profiler extraction
Keep the deterministic tracing profiler and its canonical tools together.
Defer the entirely new sampling production, tests, assets and their license
as one closure until native record and binary-collector support is ready.
Retain canonical pstats for deterministic empty-profile handling; its
upstream sampled-file sorting issue is not patched here.
Assisted-by: dot:GPT-6.1
* Stage profiling root as a namespace until sampling is available
Omit the whole newly added canonical package initializer rather than
advertise an absent sampling module or hand-edit canonical __all__.
Explicit profiling.tracing and cProfile imports remain available.
The namespace root intentionally lacks canonical metadata/automatic exports.
This addresses test___all__ failures in the prior Linux, macOS and Windows
CI runs. No test assertions, skips or canonical file contents are changed.
Assisted-by: dot:GPT-6.1
* Match canonical static builtin profiler labels and metadata
Normalize the raw builtin receiver instead of its call-argument accessor.
Snapshot static method module metadata at construction, matching CPython,
so explicit module mutation and deletion remain observable. Avoid a
profiler-time fallback that would obscure deleted metadata.
Correct float.__getformat__ to CPython's classmethod calling convention,
including subclass binding, rather than special-casing its profiler label.
Assisted-by: dot:GPT-6.1
* Support collision-safe frozen package containers
Generate empty frozen packages only for source namespace directories with
real frozen descendants. Preserve genuine modules and packages across
frozen-library registrations while retaining real-real replacement order.
Record the container marker in FrozenModule and its library envelope;
legacy module/package encodings remain unchanged. This is closed-tree
frozen packaging, not full PEP 420 namespace merging.
Add structural codec, mock generator, and registration-priority checks.
* Revert frozen package containers before restoring canonical profiling root
The container implementation changed filesystem namespace precedence.
Restore the existing importer and frozen envelope unchanged; the following
offline sampling closure restores the canonical regular package root.
This reverses d5a8049234.
Assisted-by: dot:GPT-6.1
* Restore canonical profiling package with offline sampling codec
Provide native records, status constants and genuine uncompressed binary
reader/writer APIs for canonical offline tools. Keep the unsupported live
process capability absent and preserve existing canonical test gates.
Restore the complete selected sampling production/test/assets closure via
update_lib, including its asyncio frame-schema dependency. The prior frozen
container extension is reverted separately; canonical packages work with
both filesystem and frozen imports without changing namespace semantics.
Assisted-by: dot:GPT-6.1
* Keep platform-dependent C long normalization explicit
Allow only the c_long-to-i32 conversion lint: Windows uses the same type,
while LP64 requires the existing truncation to match CPython normalization.
No runtime behavior or test assertions change.
Assisted-by: dot:GPT-6.1
* Include profiling notices in library and desktop packages
Bundle a byte-identical copy of the root profiling notice in rustpython-pylib
and include the root notice in configured desktop resources. Avoid a symlink
so Windows checkouts preserve the actual notice text. Terms are unchanged.
Assisted-by: dot:GPT-6.1
* Keep profiling asset license notice in pylib crate
* Serve frozen profiling assets through native resource readers
* Preserve canonical profiling asset line endings on checkout
---------
Co-authored-by: youknowdot <dot@youknowone.org>
* Align duplicate-parameter diagnostics with Python 3.15
Preserve source names and locations in both symbol-table paths, and migrate
the existing canonical codeop expectation through update_lib.
Assisted-by: OpenAI Codex: model version unavailable
* Sync positional-only duplicate-parameter expectations
Migrate the full pinned CPython 3.15.0 test file through update_lib. Its only delta is six existing expected messages, completing the dependent canonical wording coverage.
Assisted-by: OpenAI Codex: model version unavailable
* Mark wrapper descriptors as method descriptors
Match CPython 3.15 wrapper_descriptor flags so existing method lookup
can use the descriptor's direct receiver-prepending dispatch path.
Assisted-by: OpenAI Codex:model-version-unavailable
* Retire fixed wrapper monitoring expected failure
Regenerate test_monitoring from pinned CPython 3.15.0 with the updater, preserving every other adaptation. The METHOD_DESCRIPTOR flag now supplies the canonical receiver in int.__repr__ CALL/C_RETURN events.
Assisted-by: OpenAI Codex:model-version-unavailable
Report the qualified awaitable and returned type when __await__ does not
produce an iterator, preserving the existing coroutine/iterator checks.
Migrate test_coroutines.py from pinned CPython v3.15.0 through update_lib.
Assisted-by: OpenAI Codex:model-version-unavailable
Refresh the IDLE, Tkinter and turtle family through update_lib, including
the direct canonical text-only helper and image fixture dependencies.
Preserve capability/display guards without changing native Tk support.
Assisted-by: OpenAI Codex:model-version-unavailable
Accept the module keyword when building symbol tables and emit only parser
warnings through the existing bounded warning path. Preserve source filenames
and warning-to-SyntaxError conversion without compiling bytecode.
Expose canonical lambda and generator-expression names while retaining
already-bracketed comprehension names. Synchronize symtable and its tests
from pinned CPython 3.15.0 through update_lib, including cell introspection.
Assisted-by: OpenAI Codex:model-version-unavailable
Co-authored-by: youknowdot <dot@youknowone.org>
* Align signal wakeup error handling with Python 3.15
Assisted-by: OpenAI Codex:model version unavailable
* Preserve CRT error state during signal wakeup writes
Assisted-by: OpenAI Codex:model version unavailable
* Represent nullable Windows CRT parameter handlers safely
Assisted-by: OpenAI Codex:model version unavailable
* Rework signal wakeup error delivery to follow signalmodule.c
- Report pending wakeup write/send errors after Python signal handlers
and VM pending calls, and re-arm the eval breaker when a handler or
pending call raises.
- Save and restore errno once in run_signal around trip_signal instead
of inside each write path; stop preserving _doserrno.
- Add crt_fd::write_noraise and use it for the Unix and Windows wakeup
writes, sharing the single-write helper with _write.
- Keep pending wakeup errors across fork.
- Revert the suppress_iph handler type change and the unrelated quote
change in test_signal.
Assisted-by: Claude Code:claude-opus-5-5
* Represent nullable Windows CRT parameter handlers as Option
_set_thread_local_invalid_parameter_handler takes and returns a nullable
function pointer; declare it as Option<InvalidParamHandler> so a NULL
previous handler is restored as None.
Assisted-by: Claude Code:claude-opus-5-5
---------
Co-authored-by: Jeong YunWon <jeong@youknowone.org>
* Report fatal explicit-home encodings initialization failures
Retain explicit standard-library initialization errors for the command-line host, preserving default embedding fallback and the original exception cause.
Assisted-by: OpenAI Codex: model version unavailable
* Enable canonical fatal startup path configuration coverage
Retire the verified expected failure through update_lib, preserving the explicit local path-environment adaptation and all other markers.
Assisted-by: OpenAI Codex: model version unavailable
* Update storage and developer-tool libraries to Python 3.15
Migrate eight behavioral modules and two related production cleanups with whole canonical suites, preserving the existing dynamic Windows DBM guard through the updater.
Assisted-by: OpenAI Codex:model version unavailable
* Preserve the import required by the existing DBM platform guard
Assisted-by: OpenAI Codex:model version unavailable
Copy nine behavioral asyncio modules and the independent ftplib unused-assignment cleanup from CPython d220409a13b77de7a6c30abe16ea90db01528edc. Migrate their whole canonical suites with existing RustPython guards preserved.
Assisted-by: OpenAI Codex:model version unavailable
* Align import, numeric and warning edge cases with Python 3.15
Carry four independent compatibility fixes from the 3.15 upgrade: preserve import cache lookup errors, handle surrogate module names, qualify numeric conversion diagnostics, and accept frozen warning globals. Match pinned CPython d220409a13b77de7a6c30abe16ea90db01528edc.
Assisted-by: OpenAI Codex:model version unavailable
* Preserve the integer contract of builtin module detection
Return -1 for the separately initialized sys/builtins core modules, 1 for registered definitions and 0 for absent or unencodable names, matching pinned CPython import.c and its initialization table.
Assisted-by: OpenAI Codex:model version unavailable
* Normalize successful index conversions to exact integers
Match PyNumber_Index after its internal protocol call: preserve exceptions and warning timing, then copy bool or int-subclass payloads to an exact int without calling __index__ again.
Assisted-by: OpenAI Codex:model version unavailable
* Retire passing surrogate-import expected failures
Canonical cases now pass on the repaired import paths, including hosted Windows validation. Preserve their bodies and platform guards through update_lib.
Assisted-by: OpenAI Codex:model version unavailable