diff --git a/local/docs/ECOSYSTEM-ADAPTION-POLICY.md b/local/docs/ECOSYSTEM-ADAPTION-POLICY.md index 2f28c71181..18b537982d 100644 --- a/local/docs/ECOSYSTEM-ADAPTION-POLICY.md +++ b/local/docs/ECOSYSTEM-ADAPTION-POLICY.md @@ -15,9 +15,9 @@ build. Mixing old and new versions causes `call_ro`/`call_wo` and | Crate | Version | Why this version | |-------|---------|------------------| -| `libredox` | `=0.1.13` | Latest version compatible with redox-scheme 0.11.0 ecosystem | -| `redox-scheme` | `=0.11.0` | Latest version still compatible with redox_syscall 0.7.x (used by redoxfs master) | -| `redox_syscall` | `=0.7.5` | Latest 0.7.x; matches redoxfs master pinning | +| `libredox` | `=0.1.18` | Current upstream version in fork-upstream-map.toml | +| `redox-scheme` | `=0.11.2` | Current upstream version in fork-upstream-map.toml | +| `redox_syscall` | `=0.9.0` | Current upstream version in fork-upstream-map.toml | **Note on version selection rationale (per "latest versions only" rule):** Redox ecosystem is mid-migration (2026-05-27 → 2026-06-01 transition). The @@ -29,17 +29,17 @@ transition broke compatibility for upstream consumers. Per research: with `redox_syscall 0.7.5` and `libredox 0.1.13` - `redox_installer master` (2026-05-27) still uses `redox_syscall 0.7` and `redoxfs 0.9` -- **NO upstream consumer** has migrated to `redox_syscall 0.8.x` yet +- Red Bear syscall fork is currently aligned with upstream `0.9.0` (the first jump past `0.7.x`) -So the latest **mutually-compatible** ecosystem is `redox-scheme 0.11.0` (still on `redox_syscall 0.7.x`). When upstream `redoxfs` bumps to `redox_syscall 0.8.x` and `redox-scheme 0.11.1`, this table should be updated to: +So the current **mutually-aligned** ecosystem is `redox-scheme 0.11.2` on `redox_syscall 0.9.0`. When upstream `redoxfs` and the rest of the fork map move together, keep this table aligned to the values in `local/fork-upstream-map.toml`: | Crate | New Version | |-------|-------------| -| `libredox` | `=0.1.17` | -| `redox-scheme` | `=0.11.1` | -| `redox_syscall` | `=0.8.1` | +| `libredox` | `=0.1.18` | +| `redox-scheme` | `=0.11.2` | +| `redox_syscall` | `=0.9.0` | -Until then, use the `0.11.0` track to keep `redoxfs` working. +Use the current map values to keep the ecosystem aligned. ## How to Pin Ecosystem Versions in a Red Bear Recipe @@ -50,9 +50,9 @@ Until then, use the `0.11.0` track to keep `redoxfs` working. ```toml [dependencies] # These are pinned to latest ecosystem versions. -libredox = "=0.1.17" -redox-scheme = "=0.11.1" -redox_syscall = "=0.8.1" +libredox = "=0.1.18" +redox-scheme = "=0.11.2" +redox_syscall = "=0.9.0" ``` **Workspace roots** (`[workspace]` section): @@ -61,9 +61,9 @@ redox_syscall = "=0.8.1" [workspace.dependencies] # Red Bear OS must adapt to upstream Redox ecosystem changes. # These pins force unified versions across the workspace. -libredox = "=0.1.17" -redox-scheme = "=0.11.1" -redox_syscall = "=0.8.1" +libredox = "=0.1.18" +redox-scheme = "=0.11.2" +redox_syscall = "=0.9.0" ``` Then in member crates: @@ -141,4 +141,4 @@ Re-check the canonical versions whenever: - Redox releases a new `libredox`/`redox-scheme`/`redox_syscall` on crates.io - A Redox upstream recipe bumps its ecosystem pins - A new Red Bear local recipe is added that needs ecosystem crates -- Build fails with `call_ro`/`call_wo` or `syscall::Error` mismatch errors \ No newline at end of file +- Build fails with `call_ro`/`call_wo` or `syscall::Error` mismatch errors