Skip to content

Commit 7c545a8

Browse files
chore(deps): remove unused dependencies and upgrade to latest versions
Remove rayon (parallel feature), bytemuck, criterion, and anyhow (from recast-common) which had zero usage in source. Upgrade glam 0.29->0.31, bitflags 2.9->2.10, ordered-float 5.0->5.1, tokio 1.45->1.49, lz4_flex 0.11->0.12, tempfile 3.20->3.24. Update bytes to 1.11.1 (RUSTSEC-2026-0007) and socket2 to 0.6.2. Remove unused Zlib license allowance and add windows-sys skip in deny.toml.
1 parent 79894c0 commit 7c545a8

File tree

9 files changed

+38
-92
lines changed

9 files changed

+38
-92
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ What actually happened.
2929
- OS: [e.g., Ubuntu 22.04, Windows 11, macOS 14]
3030
- Rust version: [e.g., 1.92.0]
3131
- recast-rs version: [e.g., 0.1.0]
32-
- Feature flags enabled: [e.g., parallel, serialization]
32+
- Feature flags enabled: [e.g., serialization, tokio]
3333

3434
## Minimal Reproduction
3535

CHANGELOG.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Removed
11+
12+
- Removed unused `rayon` dependency and `parallel` feature from recast crate
13+
- Removed unused `bytemuck` dependency from recast-common and recast crates
14+
- Removed unused `criterion` workspace dependency (no benchmarks exist)
15+
- Removed unused `anyhow` dependency from recast-common crate
16+
- Removed unused `Zlib` license allowance from `deny.toml`
17+
1018
### Changed
1119

20+
- Upgraded `glam` from 0.29 to 0.31
21+
- Upgraded `bitflags` from 2.9 to 2.10
22+
- Upgraded `ordered-float` from 5.0 to 5.1
23+
- Upgraded `tokio` from 1.45 to 1.49
24+
- Upgraded `lz4_flex` from 0.11 to 0.12
25+
- Upgraded `tempfile` from 3.20 to 3.24
26+
- Updated `bytes` to 1.11.1 (fixes RUSTSEC-2026-0007)
27+
- Updated `socket2` to 0.6.2
28+
1229
#### recast-common
1330

1431
- Added `std` feature flag (enabled by default) to gate file I/O operations
@@ -76,7 +93,6 @@ Initial release. This is a Rust port of [RecastNavigation][recast-cpp].
7693
- Detail mesh generation (`PolyMeshDetail`)
7794
- Configurable build parameters (`RecastConfig`)
7895
- Context for logging and timing (`RecastContext`)
79-
- Optional parallel processing via `parallel` feature
8096

8197
#### detour
8298

Cargo.lock

Lines changed: 9 additions & 64 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,17 @@ thiserror = "2.0"
3535
anyhow = "1.0"
3636

3737
# Math
38-
glam = { version = "0.29", features = ["serde"] }
38+
glam = { version = "0.31", features = ["serde"] }
3939

4040
# Utilities
41-
bitflags = { version = "2.9", features = ["serde"] }
42-
bytemuck = "1.23"
41+
bitflags = { version = "2.10", features = ["serde"] }
4342
byteorder = "1.5"
4443
log = "0.4"
45-
ordered-float = "5.0"
44+
ordered-float = "5.1"
4645
web-time = "1.1"
4746

48-
# Parallel processing
49-
rayon = "1.10"
50-
5147
# Async runtime (optional)
52-
tokio = { version = "1.45", features = ["full"] }
48+
tokio = { version = "1.49", features = ["full"] }
5349

5450
# Runtime-agnostic async primitives
5551
async-lock = "3.4"
@@ -61,12 +57,11 @@ serde_json = "1.0"
6157
postcard = { version = "1.1", features = ["alloc"] }
6258

6359
# Compression
64-
lz4_flex = "0.11"
60+
lz4_flex = "0.12"
6561

6662
# Testing
67-
criterion = { version = "0.6", features = ["html_reports"] }
6863
assert_approx_eq = "1.1"
69-
tempfile = "3.20"
64+
tempfile = "3.24"
7065
fastrand = "2.3"
7166

7267
[profile.release]

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,6 @@ cargo build --release
119119
### Feature Flags
120120

121121
- `serialization` - Save/load navigation meshes
122-
- `parallel` - Multi-threaded mesh generation (not WASM-compatible)
123122
- `tokio` - Tokio runtime integration for `detour-dynamic` (not WASM-compatible)
124123

125124
### Platform Support
@@ -147,7 +146,6 @@ cargo build --target wasm32-unknown-unknown -p recast -p detour
147146
| Dynamic obstacles | Yes | Yes | Full support |
148147
| Async operations | Yes | Yes | Runtime-agnostic via `async-lock` |
149148
| File I/O | Yes | No | Use `std` feature to disable |
150-
| Parallel processing | Yes | No | Disable `parallel` feature |
151149
| Serialization | Yes | Yes | In-memory only on WASM |
152150

153151
### WASM Usage Notes

crates/recast-common/Cargo.toml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ categories = ["game-development", "algorithms"]
1313
[dependencies]
1414
glam = { workspace = true }
1515
thiserror = { workspace = true }
16-
bytemuck = { workspace = true }
1716
log = { workspace = true }
18-
anyhow = { workspace = true }
1917
tokio = { workspace = true, optional = true }
2018

2119
[dev-dependencies]

crates/recast/Cargo.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,13 @@ recast-common = { workspace = true }
1515
glam = { workspace = true }
1616
thiserror = { workspace = true }
1717
log = { workspace = true }
18-
rayon = { workspace = true, optional = true }
19-
bytemuck = { workspace = true }
2018
web-time = { workspace = true }
2119

2220
[dev-dependencies]
2321
assert_approx_eq = { workspace = true }
2422

2523
[features]
2624
default = []
27-
parallel = ["rayon"]
2825

2926
[lints]
3027
workspace = true

crates/recast/README.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,6 @@ This is a Rust port of the Recast component from [RecastNavigation][recast-cpp].
2626
- **Polygon Mesh**: Generate navigation polygon meshes
2727
- **Detail Mesh**: Create detailed height meshes for accurate positioning
2828

29-
## Optional Features
30-
31-
- `parallel` - Multi-threaded mesh generation using Rayon (not WASM-compatible)
32-
3329
## WASM Support
3430

3531
This crate is fully compatible with WebAssembly. Build for WASM with:
@@ -38,8 +34,7 @@ This crate is fully compatible with WebAssembly. Build for WASM with:
3834
cargo build --target wasm32-unknown-unknown -p recast
3935
```
4036

41-
Note: The `parallel` feature is not available on WASM. Timing uses `web-time`
42-
for cross-platform compatibility.
37+
Timing uses `web-time` for cross-platform compatibility.
4338

4439
## Example
4540

deny.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ allow = [
3030
"Apache-2.0",
3131
"Unicode-3.0",
3232
"Unlicense",
33-
"Zlib",
3433
]
3534
confidence-threshold = 0.8
3635

@@ -52,7 +51,10 @@ external-default-features = "allow"
5251
# Banned crates
5352
deny = []
5453

55-
skip = []
54+
# socket2 0.6.2 still depends on windows-sys 0.60 while rest of tree uses 0.61
55+
skip = [
56+
{ crate = "windows-sys@0.60", reason = "transitive dep via socket2; awaiting upstream update" },
57+
]
5658
skip-tree = []
5759

5860
# Source restrictions

0 commit comments

Comments
 (0)