Skip to content

Release 1.0.0 on crates.io - #408

Merged
heitor-lassarote merged 4 commits into
masterfrom
heitor-lassarote/#407-release-1.0.0
Oct 19, 2026
Merged

heitor-lassarote merged 4 commits into
masterfrom
heitor-lassarote/#407-release-1.0.0

Conversation

@heitor-lassarote

@heitor-lassarote heitor-lassarote commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

Description

Prepares the first crates.io release, version 1.0.0.

  • Sets the version to 1.0.0 in Cargo.toml and Cargo.lock. The Nix package in flake.nix reads it from Cargo.toml.
  • deploy and activate read their --version from Cargo.toml instead of the hardcoded 1.0. Both now print deploy-rs 1.0.0.
  • Adds CHANGELOG.md with the 1.0.0 entry.
  • The README has a crates.io badge and explains how to install deploy-rs with cargo install.

The publish, the v1.0.0 tag and the GitHub release follow on the day this is merged.

Related issue(s)

Fixed #407. Fixed #409. Related: #72.

🤖 Generated with Claude Code

@heitor-lassarote
heitor-lassarote marked this pull request as ready for review October 15, 2026 15:04

@Martoon-00 Martoon-00 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Two optional suggestions for the 1.0 release, fine to leave for a follow-up:

  • The README could mention cargo install deploy-rs, maybe with a crates.io badge. Right now it only covers Nix installation.
  • It might be worth starting a CHANGELOG, or at least drafting the notes for the GitHub release.

Comment thread flake.nix Outdated
deploy-rs = final.rustPlatform.buildRustPackage {
pname = "deploy-rs";
version = "0.1.0";
version = "1.0.0";

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'd suggest reading the version from Cargo.toml, so it doesn't drift on the next bump (same idea as the clap change):

Suggested change
version = "1.0.0";
version = (builtins.fromTOML (builtins.readFile ./Cargo.toml)).package.version;

Cargo.toml is already in src, so nothing else needs to change.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Done.

@heitor-lassarote

Copy link
Copy Markdown
Member Author

Two optional suggestions for the 1.0 release, fine to leave for a follow-up:

  • The README could mention cargo install deploy-rs, maybe with a crates.io badge. Right now it only covers Nix installation.
  • It might be worth starting a CHANGELOG, or at least drafting the notes for the GitHub release.

@Martoon-00, I agree with you. Did both.

@Martoon-00 Martoon-00 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM, thanks for addressing my concerns )

Problem: `deploy-rs` is about to be published on crates.io, but its
version is still the placeholder `0.1.0` in `Cargo.toml`, `Cargo.lock`
and the Nix package.

Solution: set it to `1.0.0` in `Cargo.toml` and `Cargo.lock`, and make
the Nix package read its version from `Cargo.toml`, so the crate and
the Nix package always report the same version.
Problem: `deploy` and `activate` hardcode `version = "1.0"` in their
clap attributes. With the crate at 1.0.0, `--version` prints `1.0`,
and it would stay `1.0` after any later version bump.

Solution: use `#[command(version)]`, which makes clap read the version
from `Cargo.toml`. Both binaries now print `deploy-rs 1.0.0`.
Problem: deploy-rs has no changelog, and the 1.0.0 release needs
an entry that says what the release is.

Solution: add `CHANGELOG.md` in the Keep a Changelog format, with a
1.0.0 entry and an empty Unreleased section.
Problem: deploy-rs is about to be published on crates.io, but the
README only shows how to run it with Nix.

Solution: add a crates.io badge, and explain that `cargo install
deploy-rs` installs the `deploy` and `activate` binaries, needs Rust
1.85 or newer, and still needs Nix on the machine.
@heitor-lassarote
heitor-lassarote force-pushed the heitor-lassarote/#407-release-1.0.0 branch from 8dc2951 to 1db2607 Compare October 19, 2026 13:32
@heitor-lassarote
heitor-lassarote merged commit 26e0f24 into master Oct 19, 2026
31 of 36 checks passed
@heitor-lassarote
heitor-lassarote deleted the heitor-lassarote/#407-release-1.0.0 branch October 19, 2026 14:35
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.

Document installing deploy-rs from crates.io Release 1.0.0 on crates.io

2 participants