Skip to content

chore: bump version to 3.3.0 - #112

Merged
JeanExtreme002 merged 1 commit into
mainfrom
chore/bump-3.3.0
Oct 12, 2026
Merged

JeanExtreme002 merged 1 commit into
mainfrom
chore/bump-3.3.0

Conversation

@JeanExtreme002

Copy link
Copy Markdown
Owner

Why is this PR necessary, what does it do?

Bumps the version from 3.2.0 to 3.3.0 in the five places it lives: __version__, the docs/conf.py fallback, and in server.json both version fields plus the PyMemoryEditor[mcp]== pin. It also corrects the release steps in CONTRIBUTING.md, which listed only two of those places.

Minor rather than major, following the versioning policy added in #111: no public default changed, and the behaviour changes below only reject what was unsafe or meaningless before. They are listed here for the release notes:

  • Generators returned by the scan and listing methods are bound to the process object: resuming one after close() raises ClosedProcess instead of using a released handle, which Windows could hand to another process.
  • Invalid scan arguments (search_by_value(int, value=2**40), a malformed pattern) raise when the method is called, not on the first next().
  • write_uint* rejects floats and numeric strings with TypeError, like write_int; out-of-range NumPy integers are range-checked; OpenProcess(pid=True) is rejected.
  • resolve_pointer_chain raises ValueError (also an OSError) for a hop outside the 64-bit address space instead of reading a wrapped address.
  • get_modules() on an exited target raises ProcessIDNotExistsError on Windows and macOS too; macOS close() returns False when releasing the task port fails.
  • Linux: process names and mapped paths that are not valid UTF-8 no longer break OpenProcess(name=...), thread listings or scans.
  • Windows: a partially read scan chunk is skipped instead of zero-filled (no more false matches for 0).
  • macOS: writing to a protected page no longer leaves WRITE in the page's maximum protection.
  • MCP: the server refuses every ancestor process (including the shell or terminal it was started from), so the client is protected under uvx; a remembered approval for a shared runtime (python3, node, shells) covers that running instance only; unreadable process names always ask; new opt-in --confirm-writes; response text is size-capped with additive *_truncated fields.
  • App: no automatic value refresh after a cancelled or failed scan; much faster promotion to the cheat table and refine on large result sets; finished workers and closed dialogs are freed.
  • Packaging: psutil 7.x is accepted (<8); PySide6 is capped below 7.
  • Faster pointer-map building and integer NOT_EXACT scans when NumPy is installed.

Checklist (complete all items):

  • Added tests as necessary.
  • There is no breaking change for existing features.

References:

#111

Notes:

Publishing a GitHub Release tagged v3.3.0 after this merges runs the PyPI and MCP Registry workflow. Since #111 it also requires a successful non-PR Python Package run on the release commit (it waits for one still in progress), and the dependency audit now blocks on main, so an open advisory in the extras would hold the release.

@github-actions github-actions Bot added docs Documentation changes (docs/) lib Library changes (PyMemoryEditor/) labels Oct 12, 2026
@JeanExtreme002
JeanExtreme002 merged commit 8f852d6 into main Oct 12, 2026
26 checks passed
@github-actions
github-actions Bot deleted the chore/bump-3.3.0 branch October 12, 2026 02:18
@codecov

codecov Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.41%. Comparing base (f5a240d) to head (b7cfa89).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #112   +/-   ##
=======================================
  Coverage   77.41%   77.41%           
=======================================
  Files          64       64           
  Lines        9186     9186           
=======================================
  Hits         7111     7111           
  Misses       2075     2075           
Flag Coverage Δ
Linux-py3.10 66.94% <100.00%> (ø)
Linux-py3.11 66.94% <100.00%> (ø)
Linux-py3.12 66.94% <100.00%> (ø)
Linux-py3.13 66.94% <100.00%> (ø)
Linux-py3.14 66.85% <100.00%> (ø)
Linux-py3.15 66.85% <100.00%> (ø)
Windows-py3.10 68.53% <100.00%> (ø)
Windows-py3.11 68.53% <100.00%> (ø)
Windows-py3.12 68.53% <100.00%> (ø)
Windows-py3.13 68.53% <100.00%> (ø)
Windows-py3.14 68.44% <100.00%> (ø)
Windows-py3.15 68.44% <100.00%> (ø)
app-Linux-py3.12 61.58% <ø> (ø)
macOS-py3.10 91.08% <100.00%> (ø)
macOS-py3.12 91.03% <100.00%> (ø)
macOS-py3.14 91.00% <100.00%> (ø)
mcp-Linux-py3.12 92.13% <ø> (ø)
mcp-Windows-py3.12 91.70% <ø> (ø)
mcp-macOS-py3.12 93.12% <ø> (ø)
speed-Linux-py3.12 69.03% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
PyMemoryEditor/__init__.py 96.66% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation changes (docs/) lib Library changes (PyMemoryEditor/)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant