Skip to content

v3.3.1

Choose a tag to compare

@JeanExtreme002 JeanExtreme002 released this 12 Oct 04:01
2d28d12

What's changed

An internal cleanup release: the listing and search methods are now written once in AbstractProcess instead of three times across the backends, the backends are type-checked, and the test suite and comments are reorganized. No public default changes and no new features; behaviour on Windows, Linux and macOS is the same as in 3.3.0.

Changed

  • Listings and searches are implemented once in AbstractProcess. get_memory_regions / get_threads / get_modules and the four search_by_* methods check access, validate their arguments at the call and bind the returned generator to the object in one place; each backend now supplies only the OS-specific parts. A new method or backend can no longer miss the ClosedProcess guard or the call-time validation (#113)
  • A search encodes its value and compiles its pattern once. The validated target is handed to the backend scan instead of being encoded again; the backend scan functions accept the encoded form (target_value_bytes, compiled_pattern) as optional keywords, and existing calls are unchanged (#113)
  • Subclasses of AbstractProcess are checked when defined. A subclass that implements neither a listing/search method nor the hook behind it raises TypeError at class definition rather than at instantiation. Subclasses that implement the public methods themselves, as up to 3.3, are unaffected (#113)

Internal

  • mypy now checks the platform backends under all three platforms; only attributes that exist on one OS alone are exempt. The type errors this surfaced are fixed (#113)
  • One ADDRESS_SPACE_END constant replaces five spellings of the 64-bit address bound (#113)
  • The *_review_fixes test modules are folded into the modules for the behaviour they test, and comments describe the current behaviour instead of how past bugs were found (#113)

Install

pip install --upgrade PyMemoryEditor

📖 Full documentation: pymemoryeditor.readthedocs.io · MCP guide: pymemoryeditor.readthedocs.io/en/latest/mcp.html

Full Changelog: v3.3.0...v3.3.1