What
The latest version on crates.io is sed 0.1.1
(published 2025-12-17), which depends on uucore 0.5.0. main is already at
0.2.0 and depends on uucore 0.10.0.
Would you consider cutting a release so the current code is installable?
Why it matters for embedders
We bundle sed as an in-process command provider in a shell (no fork/exec
available on some of our targets, and Windows has no sed.exe at all — the
/usr/bin/sed of git-bash only exists inside git-bash). uumain() is exactly the
right shape for that, so this works nicely.
The problem is the version skew: because the published crate wants uucore 0.5.0
and the rest of our bundled uutils stack is on a newer uucore, we end up with
two uucore versions in the dependency graph. That is not just weight —
[patch.crates-io] fixes we apply to uucore do not reach the older copy, so the
bundled sed runs against an unpatched uucore while everything else does not.
Concretely, that older copy still panics when argv is empty (which happens when
the host is a dlopened shared object) — we have a PR for that against uucore at
uutils/coreutils#13882. But even with that merged, we can only line the versions up
if a release carrying uucore 0.10 exists on crates.io.
For now we ship the bundled sed on Windows only, where argv is always real, and
leave it out of our Android/iOS builds.
Ask
A release from main (or any published version that depends on the current
uucore) would let us drop that restriction. Happy to help test.
What
The latest version on crates.io is
sed 0.1.1(published 2025-12-17), which depends on
uucore 0.5.0.mainis already at0.2.0and depends onuucore 0.10.0.Would you consider cutting a release so the current code is installable?
Why it matters for embedders
We bundle
sedas an in-process command provider in a shell (nofork/execavailable on some of our targets, and Windows has no
sed.exeat all — the/usr/bin/sedof git-bash only exists inside git-bash).uumain()is exactly theright shape for that, so this works nicely.
The problem is the version skew: because the published crate wants
uucore 0.5.0and the rest of our bundled uutils stack is on a newer
uucore, we end up withtwo
uucoreversions in the dependency graph. That is not just weight —[patch.crates-io]fixes we apply touucoredo not reach the older copy, so thebundled
sedruns against an unpatcheduucorewhile everything else does not.Concretely, that older copy still panics when
argvis empty (which happens whenthe host is a
dlopened shared object) — we have a PR for that against uucore atuutils/coreutils#13882. But even with that merged, we can only line the versions up
if a release carrying
uucore 0.10exists on crates.io.For now we ship the bundled
sedon Windows only, whereargvis always real, andleave it out of our Android/iOS builds.
Ask
A release from
main(or any published version that depends on the currentuucore) would let us drop that restriction. Happy to help test.