Skip to content

fix: replace invalid crates.io keyword and rename legacy changelog#185

Closed
r-near wants to merge 1 commit into
masterfrom
fix/release-keyword-and-changelog
Closed

fix: replace invalid crates.io keyword and rename legacy changelog#185
r-near wants to merge 1 commit into
masterfrom
fix/release-keyword-and-changelog

Conversation

@r-near
Copy link
Copy Markdown
Contributor

@r-near r-near commented Apr 8, 2026

Summary

  • Replaces "smart contract" with "smart-contract" in workspace keywords — crates.io rejects keywords with spaces, which has been causing all release-plz publish attempts to fail with 400 Bad Request: "smart contract" is an invalid keyword
  • Renames CHANGELOG.md to CHANGELOG-legacy.md so release-plz can manage per-crate changelogs going forward without conflicts (previous releases were done manually)

Context

All 3 Release-plz runs since the workflow was added have failed:

  • April 3: CARGO_REGISTRY_TOKEN wasn't set (since fixed)
  • April 7 & 8: "smart contract" is an invalid keyword (this PR)

After this merges, the release-plz release job should successfully publish near-plugins and near-plugins-derive v0.5.1 to crates.io and create per-package git tags. PR #184 can be closed — release-plz will create a fresh one based on the new tags.

Test plan

"smart contract" (with space) is rejected by crates.io, causing all
release-plz publish attempts to fail with a 400 Bad Request. Replace
with "smart-contract".

Rename CHANGELOG.md to CHANGELOG-legacy.md so release-plz can manage
per-crate changelogs going forward without conflicts.
Copilot AI review requested due to automatic review settings April 8, 2026 18:14
@r-near r-near closed this Apr 8, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses crates.io publishing failures by fixing an invalid workspace keyword and prepares the repository for release-plz-managed per-crate changelogs by moving the existing top-level changelog to a legacy file.

Changes:

  • Replace the invalid crates.io keyword "smart contract" with "smart-contract" in workspace package metadata.
  • Rename/move the existing changelog content into CHANGELOG-legacy.md to avoid conflicts with future per-crate changelogs.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
Cargo.toml Updates workspace keywords to a crates.io-valid value (smart-contract).
CHANGELOG-legacy.md Adds the legacy changelog content under a new filename for archival/reference.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

2 participants