Commit graph

1478 commits

Author SHA1 Message Date
Willi Ballenthin
6222351aaa v0.9.10 2026-01-08 16:50:21 +01:00
Ryan Mast
83e6d4ef47 ci: Create venv for maturin develop ci tests
Signed-off-by: Ryan Mast <mast9@llnl.gov>
2026-01-07 20:44:16 +01:00
Claude
2a07b8611c fix: update unicorn-engine API and improve justfile discoverability
- Update test.rs to use unicorn-engine 2.x API:
  - Replace Permission with Prot for memory permissions
  - Change mem_map/mem_protect size parameter from usize to u64
  - Use bitwise OR instead of insert() for Prot flags

- Reorganize justfile for better discoverability:
  - Add help command showing all available recipes
  - Add ci recipe that runs full lint + test pipeline
  - Align recipes with CI workflow (nightly for fmt/clippy)
  - Organize into clear sections: build, lint, test, dev
  - Add fmt-check for formatting verification without changes
2026-01-07 09:48:20 +01:00
Ryan Mast
87dc6a57ce ci: add sdist builds to PyPI publishing workflow
Signed-off-by: Ryan Mast <mast9@llnl.gov>
2026-01-07 09:23:26 +01:00
Claude
aba3ba0fe8 docs: add CI workflow summary to CLAUDE.md 2026-01-03 22:53:29 +01:00
Claude
6302a293d5 docs: add CLAUDE.md with version bump instructions 2026-01-03 22:53:29 +01:00
Claude
3727cfdb13 fix: remove jslancelot from version bump script 2026-01-03 22:53:29 +01:00
Claude
065f408808 v0.9.9 2026-01-03 22:53:29 +01:00
Claude
cd931f66b3 fix: upgrade PyPy from 3.10 to 3.11 for pyo3 v0.27.2 compatibility
PyO3 v0.27.2 requires PyPy 3.11 as minimum version. Updated all
pypy3.10 interpreter targets to pypy3.11 in the wheel build workflow.
2026-01-03 22:38:35 +01:00
Claude
aa900d28d3 fix: enable pyo3 generate-import-lib for pyflirt as well
Both pylancelot and pyflirt need this feature to build Windows wheels
for Python versions that aren't installed on the build machine.
2026-01-03 22:28:10 +01:00
Claude
eb4518eca5 fix: enable pyo3 generate-import-lib for Windows cross-compilation
Add the generate-import-lib feature to pyo3 to allow building Windows
wheels for Python versions that aren't installed on the build machine.
This is required for i686 builds where maturin uses bundled sysconfig
instead of actual interpreters.
2026-01-03 22:28:10 +01:00
Claude
ca6a8d953a ci: fix cmake compatibility for zydis build
zydis 3.x bundles an old zydis-c with cmake_minimum_required < 3.5.
Newer CMake versions reject this, so we set CMAKE_POLICY_VERSION_MINIMUM=3.5
as a workaround.
2026-01-03 22:17:19 +01:00
Claude
4fac1b51e3 ci: rename and restructure wheel build workflow
- Rename publish-pypi.yaml → python-wheels.yaml
- Change workflow name to "Python Wheels"
- Rename pypi-publish job to publish
- Cleaner step names

The workflow now clearly reflects its dual purpose: building wheels
(on manual trigger, PRs, releases) and publishing (releases only).
2026-01-03 20:44:54 +01:00
Claude
73edbad892 ci: add manual trigger for build testing
Add workflow_dispatch trigger to publish-pypi.yaml so builds can be
tested manually without creating a release. The pypi-publish job
still only runs on tagged releases.
2026-01-03 20:44:54 +01:00
Claude
1cbd85f1c8 ci: fix Windows ARM64 target name
Change Windows ARM64 target from 'arm64' to 'aarch64' to match the
Rust target triple format expected by maturin-action.

The error was: "could not find specification for target 'arm64'"
2026-01-03 20:44:54 +01:00
Claude
bcfd5c1f1e ci: run Python tests with Python 3.14
Update CI workflow to actually test pyflirt and pylancelot with
Python 3.14 instead of Python 3.11. The setup-python action was
already configured for Python 3.14, but the test steps were creating
Python 3.11 virtualenvs.

This ensures the bindings are properly tested with Python 3.14 before
publishing wheels.

Also updates GitHub Actions to latest versions (checkout@v4,
setup-python@v5).

Fixes #225
2026-01-03 20:44:54 +01:00
Willi Ballenthin
846fb1458c v0.9.8 2025-11-25 13:29:04 +01:00
Willi Ballenthin
13679f0170 python: add 3.14, remove 3.9 support 2025-11-25 13:26:27 +01:00
Willi Ballenthin
5a960c57f9 devshell: install iconv 2025-11-25 13:26:11 +01:00
Willi Ballenthin
ac441ad60a bump to pyo3 0.27 2025-11-25 13:09:26 +01:00
Willi Ballenthin
524730b748 fmt 2025-09-25 23:08:24 +00:00
Willi Ballenthin
e1299fcd02 clippy 2025-09-25 23:00:11 +00:00
Willi Ballenthin
8af9cb823b upgrade to pyo3 0.26
Fixes #223
2025-09-25 22:59:59 +00:00
Willi Ballenthin
0b3f2cb999
Update publish-pypi.yaml
try to add windows arm64 support
2025-06-10 22:19:39 +02:00
Willi Ballenthin
2b352b1ff8 v0.9.7 2025-02-19 10:37:47 +00:00
Willi Ballenthin
89d7ed507d be2utils: fix bug in call graph edges 2025-02-18 21:36:05 +00:00
Willi Ballenthin
fdc263a1c6 be2: warn for unexpected situations 2025-02-18 21:36:05 +00:00
Willi Ballenthin
0932b328af ws: demonstrate thunk handling
ws: tests: assert missing function

ws: tests: assert more expected functions
2025-02-18 21:36:05 +00:00
Willi Ballenthin
ce1087a5ba pe: better detection of thunks 2025-02-18 19:31:47 +00:00
Willi Ballenthin
250ecf17fb v0.9.6 2025-02-18 16:05:39 +00:00
Willi Ballenthin
4796e099f9 devshell: add zydis for ZydisInfo 2025-02-18 16:04:44 +00:00
Willi Ballenthin
edd45adc7d be2utils: better name thunks 2025-02-18 16:04:44 +00:00
Willi Ballenthin
b2fc36d635 cfg: thunk: better detect thunks to imports 2025-02-18 16:04:44 +00:00
Willi Ballenthin
2cf37b7daf pe: better parse thunks
fmt
2025-02-18 16:04:43 +00:00
Willi Ballenthin
5eb6c0f667 binexport: better compute thunk targets 2025-02-18 16:04:43 +00:00
Willi Ballenthin
263abdd8b6 cfg: implement get_thunk_target 2025-02-18 16:04:43 +00:00
Willi Ballenthin
4285e45905 pe: implement some relocation handling 2025-02-18 16:04:43 +00:00
Willi Ballenthin
8e3fad1d3a be2utils: render thunk names better 2025-02-18 16:04:43 +00:00
Willi Ballenthin
5b5ec8bfbd pylancelot: be2utils: index thunks 2025-02-18 16:04:43 +00:00
Willi Ballenthin
928e66f5c6 pylancelot: inspect-workspace: try to load file as BE2 first
pylancelot: inspect-workspace: better load PE from disk
2025-02-18 16:04:43 +00:00
Willi Ballenthin
401b00f60d ci: fmt and clippy with nightly 2025-02-17 14:32:11 +00:00
Willi Ballenthin
e2f4f10dcb pylancelot: fix lints 2025-02-17 14:28:40 +00:00
Willi Ballenthin
0e94b68834 dev: update python editor config 2025-02-17 14:28:34 +00:00
Willi Ballenthin
22fe0163a9 python: fix some clippy lints due to PyErr conversion 2025-02-17 14:10:42 +00:00
Willi Ballenthin
8e3cda92e3 v0.9.5 2025-02-17 14:02:51 +00:00
Willi Ballenthin
a86f595f18 core: don't publish test resources 2025-02-17 14:01:53 +00:00
Willi Ballenthin
d511a060aa ci: build using stable, not nightly 2025-02-17 13:59:30 +00:00
Willi Ballenthin
e733924afe v0.9.4 2025-02-17 13:52:32 +00:00
Willi Ballenthin
315e51f494 build on stable 2025-02-17 13:51:55 +00:00
Willi Ballenthin
aff9778af7 v0.9.3 2025-02-17 13:27:56 +00:00