From 4d545042b0537c6ea965bec24528f8752fa422b9 Mon Sep 17 00:00:00 2001 From: Baptiste Parmantier Date: Thu, 20 Aug 2026 14:40:59 +0200 Subject: [PATCH] fix(crates): ship the README with every published crate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit crates.io shows 'rustmotion v0.7.0 appears to have no README.md file'. Cargo looks for the readme inside the package directory, and README.md lives at the repository root — outside all four crates — so it was never archived. None of them declared a readme field either, so cargo looked, found nothing, and published without one. readme = "../../README.md" is enough: cargo copies the file into the tarball and rewrites the path to README.md in the published manifest. No duplicate, no symlink, and the file stays where GitHub renders it. Same family as the theme files and the skills tree: code or metadata reaching outside its own crate, invisible until something builds a tarball. Ships as 0.7.1 — 0.7.0 is already on crates.io and a published version cannot be amended. --- Cargo.lock | 10 +++++----- Cargo.toml | 8 ++++---- crates/rustmotion-components/Cargo.toml | 1 + crates/rustmotion-core/Cargo.toml | 1 + crates/rustmotion-html/Cargo.toml | 1 + crates/rustmotion/Cargo.toml | 1 + 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 883517d..39836ca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5071,7 +5071,7 @@ dependencies = [ [[package]] name = "rustmotion" -version = "0.7.0" +version = "0.7.1" dependencies = [ "clap", "clap_complete", @@ -5104,7 +5104,7 @@ dependencies = [ [[package]] name = "rustmotion-components" -version = "0.7.0" +version = "0.7.1" dependencies = [ "dashmap", "gif 0.13.3", @@ -5125,7 +5125,7 @@ dependencies = [ [[package]] name = "rustmotion-core" -version = "0.7.0" +version = "0.7.1" dependencies = [ "cosmic-text", "dashmap", @@ -5149,7 +5149,7 @@ dependencies = [ [[package]] name = "rustmotion-html" -version = "0.7.0" +version = "0.7.1" dependencies = [ "html5ever 0.39.0", "markup5ever_rcdom", @@ -5159,7 +5159,7 @@ dependencies = [ [[package]] name = "rustmotion-studio" -version = "0.7.0" +version = "0.7.1" dependencies = [ "clap", "dioxus", diff --git a/Cargo.toml b/Cargo.toml index db8049e..130af36 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,15 +13,15 @@ members = [ # par dépendance interne — et une seule oubliée fait échouer la publication après # que les précédentes soient parties, ce qui ne se rattrape pas. [workspace.package] -version = "0.7.0" +version = "0.7.1" # Les dépendances internes portent aussi la version, donc elles se déclarent ici # pour la même raison. `path` sert au développement, `version` à ce que cargo # écrit dans le paquet publié : les deux doivent coexister, et rester d'accord. [workspace.dependencies] -rustmotion-core = { path = "crates/rustmotion-core", version = "0.7.0" } -rustmotion-components = { path = "crates/rustmotion-components", version = "0.7.0" } -rustmotion-html = { path = "crates/rustmotion-html", version = "0.7.0" } +rustmotion-core = { path = "crates/rustmotion-core", version = "0.7.1" } +rustmotion-components = { path = "crates/rustmotion-components", version = "0.7.1" } +rustmotion-html = { path = "crates/rustmotion-html", version = "0.7.1" } # Optimize dependencies even in dev builds. Our own crates stay at opt-level 0 # (fast incremental + debuggable), but heavy compute in deps (image encoding, diff --git a/crates/rustmotion-components/Cargo.toml b/crates/rustmotion-components/Cargo.toml index 381f5f7..adf8f0e 100644 --- a/crates/rustmotion-components/Cargo.toml +++ b/crates/rustmotion-components/Cargo.toml @@ -5,6 +5,7 @@ edition = "2021" description = "Component library for rustmotion (51 components)" license = "MIT" repository = "https://github.com/LeadcodeDev/rustmotion" +readme = "../../README.md" [features] default = ["lottie-native"] diff --git a/crates/rustmotion-core/Cargo.toml b/crates/rustmotion-core/Cargo.toml index 4999d58..a0160e8 100644 --- a/crates/rustmotion-core/Cargo.toml +++ b/crates/rustmotion-core/Cargo.toml @@ -5,6 +5,7 @@ edition = "2021" description = "Core types, traits, and rendering utilities for rustmotion" license = "MIT" repository = "https://github.com/LeadcodeDev/rustmotion" +readme = "../../README.md" [dependencies] serde = { version = "1", features = ["derive"] } diff --git a/crates/rustmotion-html/Cargo.toml b/crates/rustmotion-html/Cargo.toml index f5827ec..031a823 100644 --- a/crates/rustmotion-html/Cargo.toml +++ b/crates/rustmotion-html/Cargo.toml @@ -5,6 +5,7 @@ edition = "2021" description = "HTML/CSS front-end transpiler for rustmotion scenarios" license = "MIT" repository = "https://github.com/LeadcodeDev/rustmotion" +readme = "../../README.md" [dependencies] html5ever = "0.39.0" diff --git a/crates/rustmotion/Cargo.toml b/crates/rustmotion/Cargo.toml index 07f9196..ce87eba 100644 --- a/crates/rustmotion/Cargo.toml +++ b/crates/rustmotion/Cargo.toml @@ -5,6 +5,7 @@ edition = "2021" description = "A CLI tool that renders motion design videos from JSON scenarios. No browser, no Node.js — just a single Rust binary." license = "MIT" repository = "https://github.com/LeadcodeDev/rustmotion" +readme = "../../README.md" [lib] path = "src/lib.rs"