Skip to content

Refresh dependencies and preserve engine CLI behavior - #205

Draft
Antrakt92 wants to merge 1 commit into
jac3km4:0.5.xfrom
Antrakt92:codex/redscript-dependency-refresh
Draft

Antrakt92 wants to merge 1 commit into
jac3km4:0.5.xfrom
Antrakt92:codex/redscript-dependency-refresh

Conversation

@Antrakt92

@Antrakt92 Antrakt92 commented Oct 22, 2026 •

Copy link
Copy Markdown

This is the dependency work used in the temporary Windows 2.5 compatibility build, separated from #203 so it can be reviewed on its own. The upstream package version stays at 0.5.31; there are no fork release files, game files or bundled binaries in this diff.

The manifest updates are:

Dependency Previous constraint New constraint
hashbrown 0.15 0.17
itertools 0.14 0.15
strum 0.27 0.28
enum-as-inner 0.6 0.7
modular-bitfield 0.12 0.13
bpaf 0.7 0.9
rstest 0.24 0.28
bindgen 0.71 0.73
toml 0.8 1.1

The lockfile also refreshes compatible transitive dependencies. The pinned hamt-sync and rust_sequence_trie revisions are unchanged. Older transitive copies of some crates remain; this is not a claim that every dependency is now the newest available version.

The CLI changes adapt to bpaf 0.9 while preserving the existing engine argument combinations, including bare and explicit boolean profile options. --help now exits successfully instead of being treated as a missing compile operation. Added user-hint TOML tests cover Unicode messages, file/source matching and malformed files.

On this standalone branch, 6222 local tests passed, plus workspace build, all-target Clippy and stable formatting:

cargo build --offline --workspace --exclude scc-lib-tests
cargo test --offline --locked --workspace --exclude scc-lib-tests
cargo clippy --offline --locked --workspace --exclude scc-lib-tests --all-targets
cargo fmt --all -- --check

The first build regenerated workspace version entries in the lockfile after removing the fork's version bump. External dependency pins match the reviewed compatibility release.

I'm leaving this as a draft because the bindgen-based scc-lib-tests path still needs a libclang-equipped environment. The updated compiler/DLL have independent Windows checks in the combined build, but those do not validate the new bindgen generation path or macOS/Linux. Stable rustfmt also does not check the nightly-only formatting options. No hosted CI was requested or run from this submission.

The flexstr 0.11 migration is deferred because its ownership/borrowed-string API needs separate work. The optional non-Windows GTK path still has glib 0.15.12 (RUSTSEC-2024-0429) and unmaintained proc-macro-error 1.0.4 (RUSTSEC-2024-0370). These were not found in the reviewed Windows normal/build graph, but they remain unresolved for that optional path. No performance gain or all-platform security cleanup is claimed.

The complete combined source and Windows package are available in 0.5.31-cp25.2. The 2.5 format change (#203) and error-buffer fix (#204) can be reviewed independently.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant