Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .github/workflows/bump-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ sed -i "$ROOT/core/Cargo.toml" -e "s/^version = \"\([^\"]*\)\"/version = \
sed -i "$ROOT/pylancelot/Cargo.toml" -e "s/^version = \"\([^\"]*\)\"/version = \"$VERSION\"/g";
sed -i "$ROOT/pyflirt/Cargo.toml" -e "s/^version = \"\([^\"]*\)\"/version = \"$VERSION\"/g";
sed -i "$ROOT/bin/Cargo.toml" -e "s/^version = \"\([^\"]*\)\"/version = \"$VERSION\"/g";
sed -i "$ROOT/jslancelot/Cargo.toml" -e "s/^version = \"\([^\"]*\)\"/version = \"$VERSION\"/g";

sed -i "$ROOT/pyflirt/pyproject.toml" -e "s/^version = \"\([^\"]*\)\"/version = \"$VERSION\"/g";
sed -i "$ROOT/pylancelot/pyproject.toml" -e "s/^version = \"\([^\"]*\)\"/version = \"$VERSION\"/g";
Expand All @@ -29,7 +28,5 @@ sed -i "$ROOT/pylancelot/Cargo.toml" \
-e "s/\(lancelot.*\)version = \"[^\"]*\"\(.*\)$/\1version = \"$VERSION\"\2/g";
sed -i "$ROOT/pyflirt/Cargo.toml" \
-e "s/\(lancelot-flirt.*\)version = \"[^\"]*\"\(.*\)$/\1version = \"$VERSION\"\2/g";
sed -i "$ROOT/jslancelot/Cargo.toml" \
-e "s/\(lancelot.*\)version = \"[^\"]*\"\(.*\)$/\1version = \"$VERSION\"\2/g";

exec git diff;
28 changes: 28 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Claude Code Memory

## Version Bumps

Use the version bump script to ensure all locations are updated:

```bash
.github/workflows/bump-version.sh <version>
```

This updates versions in all Cargo.toml and pyproject.toml files, including dependency references.

## CI Workflows

### ci.yml
Runs on push/PR. Jobs:
- `cargo check`, `cargo fmt` (nightly), `cargo clippy` (nightly)
- `cargo test` for lancelot and lancelot-flirt
- pytest for pylancelot and pyflirt (Python 3.14)

### python-wheels.yaml
Builds Python wheels. Triggers: release, manual (`workflow_dispatch`), or PR with "Full Build" label.
- Platforms: Linux (x86_64, aarch64, i686, armv7), macOS (x86_64, aarch64), Windows (x86_64, i686, aarch64)
- Python versions: 3.10-3.14, PyPy 3.11 (where supported)
- Publishes to PyPI on tagged releases

### publish-cargo.yaml
Publishes to crates.io on release. Order: flirt → core → bin (with 60s delays for propagation)
6 changes: 3 additions & 3 deletions bin/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "lancelot-bin"
version = "0.9.8"
version = "0.9.9"
description = "binary analysis tools for x32/x64 PE files"
authors = ["William Ballenthin <[email protected]>"]
license = "Apache-2.0"
Expand Down Expand Up @@ -28,6 +28,6 @@ hex = "0.4"
serde_json = "1.0"
sha256 = "1"

lancelot = { path = "../core", version = "0.9.8" }
lancelot-flirt = { path = "../flirt", version = "0.9.8" }
lancelot = { path = "../core", version = "0.9.9" }
lancelot-flirt = { path = "../flirt", version = "0.9.9" }

4 changes: 2 additions & 2 deletions core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "lancelot"
description = "binary analysis framework for x32/x64 PE files"
license = "Apache-2.0"
version = "0.9.8"
version = "0.9.9"
authors = ["Willi Ballenthin <[email protected]>"]
edition = "2021"
homepage = "https://github.com/williballenthin/lancelot"
Expand Down Expand Up @@ -37,7 +37,7 @@ fern = { version = "0.7", optional = true }
bitvec = { version = "1" }

# needed for flirt
lancelot-flirt = { path = "../flirt", version = "0.9.8", optional = true}
lancelot-flirt = { path = "../flirt", version = "0.9.9", optional = true}

# needed for binexport2
prost = "0.13"
Expand Down
2 changes: 1 addition & 1 deletion flirt/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "lancelot-flirt"
description = "parse and match FLIRT signatures"
license = "Apache-2.0"
version = "0.9.8"
version = "0.9.9"
authors = ["Willi Ballenthin <[email protected]>"]
edition = "2021"
homepage = "https://github.com/williballenthin/lancelot"
Expand Down
4 changes: 2 additions & 2 deletions pyflirt/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "python-flirt"
version = "0.9.8"
version = "0.9.9"
authors = ["William Ballenthin <[email protected]>"]
edition = "2021"
license = "Apache-2.0"
Expand All @@ -13,7 +13,7 @@ name = "flirt"
crate-type = ["cdylib"]

[dependencies]
lancelot-flirt = { path = "../flirt", version = "0.9.8" }
lancelot-flirt = { path = "../flirt", version = "0.9.9" }
pyo3 = { version = "0.27", features = ["generate-import-lib"] }
anyhow = "1"

Expand Down
2 changes: 1 addition & 1 deletion pyflirt/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "python-flirt"
version = "0.9.8"
version = "0.9.9"
description = "A Python library for parsing, compiling, and matching Fast Library Identification and Recognition Technology (FLIRT) signatures."
readme = "README.md"
requires-python = ">=3.10"
Expand Down
4 changes: 2 additions & 2 deletions pylancelot/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pylancelot"
version = "0.9.8"
version = "0.9.9"
authors = ["Willi Ballenthin <[email protected]>"]
edition = "2021"
homepage = "https://github.com/williballenthin/lancelot"
Expand All @@ -11,7 +11,7 @@ name = "lancelot"
crate-type = ["cdylib"]

[dependencies]
lancelot = { path = "../core", version = "0.9.8" }
lancelot = { path = "../core", version = "0.9.9" }
pyo3 = { version = "0.27", features = ["generate-import-lib"] }
pyo3-log = "0.13"
anyhow = "1"
Expand Down
2 changes: 1 addition & 1 deletion pylancelot/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "python-lancelot"
version = "0.9.8"
version = "0.9.9"
description = "Intel x86(-64) code analysis library that reconstructs control flow"
readme = "README.md"
requires-python = ">=3.10"
Expand Down
Loading