Skip to content

Align torrust- prefix: rename 7 tracker-specific packages to torrust-tracker- #1816

Description

@josecelano

Goal

Rename the seven crate names that currently carry the bare torrust- prefix but contain tracker-specific logic, so that the torrust-tracker- prefix accurately marks their scope. Where the old name already contains the word "tracker" in the middle (redundant once it is in the prefix), remove it to produce cleaner names.

Background

The workspace currently has three crate-name prefixes:

Prefix Intended scope
bittorrent- Generic BitTorrent protocol / community reusable
torrust- Reusable across Torrust projects (tracker, index, …)
torrust-tracker- Torrust Tracker only

Seven crates carry the torrust- prefix but belong in the torrust-tracker- group:

Current crate name Why it is tracker-specific
torrust-axum-health-check-api-server Depends on torrust-tracker-configuration and torrust-tracker-primitives
torrust-axum-http-tracker-server Implements the BitTorrent HTTP tracker; depends on all tracker-core packages
torrust-axum-rest-tracker-api-server Implements the tracker management REST API; deep tracker dependencies
torrust-axum-server Axum wrapper configured via torrust-tracker-configuration; not generic
torrust-rest-tracker-api-client HTTP client for this tracker's REST API; implements tracker-specific API contract
torrust-rest-tracker-api-core Core logic for tracker REST API; depends on all three tracker-core packages
torrust-udp-tracker-server Implements the BitTorrent UDP tracker; deep tracker dependencies

None of these crates are published on crates.io (verified May 2026). The rename has no external consumers to migrate.

This issue is a subissue of EPIC #1669 (Overhaul: Packages). Implementation sequence: SI-07.

Proposed name mapping

Current name Proposed new name
torrust-axum-health-check-api-server torrust-tracker-axum-health-check-api-server
torrust-axum-http-tracker-server torrust-tracker-axum-http-server
torrust-axum-rest-tracker-api-server torrust-tracker-axum-rest-api-server
torrust-axum-server torrust-tracker-axum-server
torrust-rest-tracker-api-client torrust-tracker-rest-api-client
torrust-rest-tracker-api-core torrust-tracker-rest-api-core
torrust-udp-tracker-server torrust-tracker-udp-server

Note: torrust-server-lib is intentionally excluded — it is intended as cross-project reusable and now has zero tracker-specific dependencies.

Scope

In Scope

  • Rename the name field in each of the 7 package Cargo.toml files.
  • Update the root Cargo.toml workspace dependency keys (7 entries).
  • Update all Cargo.toml files in the workspace that reference the old names as dependencies.
  • Update all Rust source files that use the old crate identifiers.
  • Update prose references in packages/AGENTS.md, AGENTS.md, docs/packages.md, and each package's README.md.
  • Verify the workspace builds and all tests pass.

Out of Scope

  • Moving any crate to a separate repository.
  • Changes to any crate's API or behaviour.
  • Publishing any crate on crates.io.

Acceptance Criteria

  • No Cargo.toml in the workspace declares any of the 7 old crate names.
  • No Rust source file in the workspace uses any of the 7 old Rust identifiers.
  • cargo build --workspace succeeds with zero errors.
  • cargo test --workspace passes with zero failures.
  • linter all exits with code 0.
  • packages/AGENTS.md, AGENTS.md, docs/packages.md, and each renamed package's README.md reflect the new crate names.
  • EPIC Overhaul: Packages #1669 Package Inventory and Desired Package State tables are updated.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions