Flatpak release build fails: cargo 1.83.0 can't parse edition2024 manifest (time-core) #293

Closed
opened 2026-06-26 22:18:57 +00:00 by james · 0 comments
Owner

The Flatpak release job fails on every tag (confirmed on run 737 / v0.0.1-rc.16).

Failing step + error

cargo build --release --locked (in apps/client/src-tauri), exit 101 — before flatpak-builder runs:

error: failed to parse manifest at `.../time-core-0.1.9/Cargo.toml`
Caused by:
  feature `edition2024` is required
  The package requires the Cargo feature called `edition2024`, but that feature
  is not stabilized in this version of Cargo (1.83.0 (5ffbef321 2024-10-29)).

Cause

A transitive dep (time-core 0.1.9) declares edition = "2024" in its manifest. edition2024 was only stabilized in Cargo/Rust 1.85.0. The workflow hard-pins the toolchain to 1.83.0 (.forgejo/workflows/release-flatpak.yml:40), so cargo can't even parse the manifest, and --locked forbids resolving an older time-core.

Fix

Bump RUST_TOOLCHAIN to 1.85.0 (or newer) at .forgejo/workflows/release-flatpak.yml:40 and refresh the explanatory comment (lines 36–37). The declared rust-version = "1.77" floor in apps/client/src-tauri/Cargo.toml is just a minimum and stays.

Bundled follow-up (version stamping)

While here, the Flatpak path still ships a hardcoded 0.0.0 (the web bundle's app.json expo.version → settings footer, and src-tauri/tauri.conf.json), unlike the API/Android paths fixed in #290/#292. Add a stamp step (after pnpm rebuild, before export:web) that writes the tag version into apps/client/app.json expo.version and apps/client/src-tauri/tauri.conf.json version. Stamp only those two (not Cargo.toml) to avoid dirtying Cargo.lock under --locked.

The Flatpak release job fails on every tag (confirmed on run 737 / `v0.0.1-rc.16`). ## Failing step + error `cargo build --release --locked` (in `apps/client/src-tauri`), exit 101 — **before** flatpak-builder runs: ``` error: failed to parse manifest at `.../time-core-0.1.9/Cargo.toml` Caused by: feature `edition2024` is required The package requires the Cargo feature called `edition2024`, but that feature is not stabilized in this version of Cargo (1.83.0 (5ffbef321 2024-10-29)). ``` ## Cause A transitive dep (`time-core 0.1.9`) declares `edition = "2024"` in its manifest. `edition2024` was only stabilized in **Cargo/Rust 1.85.0**. The workflow hard-pins the toolchain to `1.83.0` (`.forgejo/workflows/release-flatpak.yml:40`), so cargo can't even parse the manifest, and `--locked` forbids resolving an older `time-core`. ## Fix Bump `RUST_TOOLCHAIN` to `1.85.0` (or newer) at `.forgejo/workflows/release-flatpak.yml:40` and refresh the explanatory comment (lines 36–37). The declared `rust-version = "1.77"` floor in `apps/client/src-tauri/Cargo.toml` is just a minimum and stays. ## Bundled follow-up (version stamping) While here, the Flatpak path still ships a hardcoded `0.0.0` (the web bundle's `app.json` `expo.version` → settings footer, and `src-tauri/tauri.conf.json`), unlike the API/Android paths fixed in #290/#292. Add a stamp step (after `pnpm rebuild`, before `export:web`) that writes the tag version into `apps/client/app.json` `expo.version` and `apps/client/src-tauri/tauri.conf.json` `version`. Stamp only those two (not `Cargo.toml`) to avoid dirtying `Cargo.lock` under `--locked`.
james closed this issue 2026-06-26 22:24:39 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
james/carol#293
No description provided.