Skip to content

feat(packages): align torrust- prefix: rename 7 tracker-specific packages to torrust-tracker- (#1816)#1817

Merged
josecelano merged 6 commits into
torrust:developfrom
josecelano:1816-1669-07-align-torrust-prefix-rename-tracker-specific-packages
May 21, 2026
Merged

feat(packages): align torrust- prefix: rename 7 tracker-specific packages to torrust-tracker- (#1816)#1817
josecelano merged 6 commits into
torrust:developfrom
josecelano:1816-1669-07-align-torrust-prefix-rename-tracker-specific-packages

Conversation

@josecelano
Copy link
Copy Markdown
Member

Summary

Renames 7 tracker-specific packages from the torrust- prefix to the torrust-tracker- prefix. This is SI-07 of EPIC #1669 (Overhaul Packages).

The torrust- prefix is reserved for packages that are generic/reusable beyond the tracker domain. Packages that are specific to the tracker should use the torrust-tracker- prefix to make their scope explicit.

Packages Renamed

Old name 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 was excluded — it remains as-is pending a separate decision on whether it belongs in the torrust- or torrust-tracker- group.

Files Touched

  • Cargo.toml (workspace members and patch deps)
  • Cargo.lock (regenerated)
  • packages/*/Cargo.toml (package name fields and inter-package dependencies)
  • packages/*/src/*.rs (inline references to old crate names in source comments/docs)
  • packages/*/README.md (prose references to old names)
  • .github/workflows/deployment.yaml (CI references)
  • AGENTS.md, docs/issues/open/1669-overhaul-packages/EPIC.md, docs/issues/open/1816-... (spec/docs)

Additional Fix

packages/axum-http-tracker-server/Cargo.toml and packages/udp-tracker-server/Cargo.toml had rand = "0" which caused a Cargo.lock resolution regression after the rename. Changed to rand = "0.9" to match the already-resolved version.

Validation

  • cargo +nightly fmt --check — passed
  • cargo +nightly check --workspace --all-targets --all-features — passed
  • cargo +nightly doc --workspace --all-features — passed
  • cargo +stable test --workspace --all-targets --all-features — passed (all tests green)

Closes #1816

…ages to torrust-tracker- (torrust#1816)

Renames the following packages to align with the torrust-tracker- prefix:
- torrust-tracker-axum-health-check-api-server  (was torrust-tracker-axum-health-check-api-server — no change)
- torrust-tracker-axum-server  (was torrust-tracker-axum-server — no change)
- torrust-tracker-axum-http-server -> torrust-tracker-axum-http-tracker-server
- torrust-tracker-axum-rest-api-server -> torrust-tracker-axum-rest-tracker-api-server
- torrust-tracker-rest-api-client -> torrust-tracker-rest-tracker-api-client
- torrust-tracker-rest-api-core -> torrust-tracker-rest-tracker-api-core
- torrust-server-lib -> torrust-tracker-server-lib
- torrust-tracker-udp-server -> torrust-tracker-udp-tracker-server

Also fixes rand dependency version regression introduced during rename:
- rand = "0" -> rand = "0.9" in packages/udp-tracker-server/Cargo.toml
- rand = "0" -> rand = "0.9" in packages/axum-http-tracker-server/Cargo.toml

EPIC.md updates:
- Package Inventory tables corrected with new crate names
- Desired Package State "Renamed from" notes dropped
- SI-05 and SI-07 marked done

Issue spec torrust#1816 updates:
- Tasks T1-T8 marked DONE
- Workflow checkboxes updated
- Acceptance criteria checked
- Progress log entry added

Part of torrust#1669 (SI-07)
@josecelano josecelano requested a review from a team as a code owner May 20, 2026 18:56
Copilot AI review requested due to automatic review settings May 20, 2026 18:56
@josecelano josecelano self-assigned this May 20, 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 aligns tracker-specific workspace crates under the torrust-tracker- prefix by renaming 7 packages and updating all internal references (Cargo deps, Rust use paths, docs, tests, and CI metadata) to the new crate names.

Changes:

  • Renamed 7 tracker-specific crates from torrust-* to torrust-tracker-* (and adjusted Rust identifiers accordingly).
  • Updated workspace/package Cargo.toml dependency keys plus all Rust imports and doc links referencing the renamed crates.
  • Regenerated Cargo.lock and pinned rand dev-deps in two crates to 0.9 to avoid resolution issues after the rename.

Reviewed changes

Copilot reviewed 62 out of 63 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tests/servers/api/contract/stats/mod.rs Updates REST API client crate import to the renamed client crate.
src/lib.rs Updates rustdoc links to renamed tracker service crates.
src/container.rs Updates DI container imports for renamed REST API core + UDP server crates.
src/console/ci/qbittorrent_e2e/tracker/client.rs Updates E2E REST API client wrapper imports to renamed crates.
src/console/ci/qbittorrent_e2e/scenario_steps/tracker/verify_tracker_swarm.rs Updates E2E scenario step import to renamed REST API server crate.
src/console/ci/e2e/logs_parser.rs Updates log target imports to renamed health-check and HTTP server crates.
src/bootstrap/jobs/udp_tracker.rs Updates UDP tracker job imports to renamed UDP server crate.
src/bootstrap/jobs/udp_tracker_server.rs Updates event listener module paths to renamed UDP server crate.
src/bootstrap/jobs/tracker_apis.rs Updates REST API server/core + axum-server imports to renamed crates (incl. tests).
src/bootstrap/jobs/http_tracker.rs Updates HTTP tracker server + axum-server imports to renamed crates (incl. tests).
src/bootstrap/jobs/health_check_api.rs Updates health-check server import to renamed crate.
src/app.rs Updates version enum paths to renamed HTTP/REST API server crates.
packages/udp-tracker-server/tests/server/contract.rs Updates test imports and environment startup to renamed UDP server crate.
packages/udp-tracker-server/src/lib.rs Updates rustdoc intra-links to renamed UDP server crate identifier.
packages/udp-tracker-server/README.md Updates docs.rs link to renamed UDP server crate name.
packages/udp-tracker-server/Cargo.toml Renames package; pins dev rand to 0.9.
packages/server-lib/README.md Updates docs.rs link (now points to renamed axum-server).
packages/rest-tracker-api-core/src/statistics/services.rs Updates UDP server stats imports to renamed UDP server crate.
packages/rest-tracker-api-core/src/container.rs Updates UDP server container/stats repository imports to renamed crate.
packages/rest-tracker-api-core/Cargo.toml Renames package and updates dependency key to renamed UDP server crate.
packages/rest-tracker-api-client/Cargo.toml Renames REST API client package.
packages/axum-server/README.md Updates docs.rs link to renamed axum-server crate name.
packages/axum-server/Cargo.toml Renames axum-server package.
packages/axum-rest-tracker-api-server/tests/server/v1/contract/context/whitelist.rs Updates test imports to renamed REST API server + client crates.
packages/axum-rest-tracker-api-server/tests/server/v1/contract/context/torrent.rs Updates test imports to renamed REST API server + client crates.
packages/axum-rest-tracker-api-server/tests/server/v1/contract/context/stats.rs Updates test imports to renamed REST API server + client crates.
packages/axum-rest-tracker-api-server/tests/server/v1/contract/context/health_check.rs Updates test imports to renamed REST API server + client crates.
packages/axum-rest-tracker-api-server/tests/server/v1/contract/context/auth_key.rs Updates test imports to renamed REST API server + client crates.
packages/axum-rest-tracker-api-server/tests/server/v1/contract/authentication.rs Updates test imports to renamed REST API server + client crates.
packages/axum-rest-tracker-api-server/tests/server/v1/asserts.rs Updates resource type imports to renamed REST API server crate.
packages/axum-rest-tracker-api-server/tests/server/connection_info.rs Updates connection-info import to renamed REST API client crate.
packages/axum-rest-tracker-api-server/src/v1/routes.rs Updates REST API core container import to renamed crate.
packages/axum-rest-tracker-api-server/src/v1/context/stats/routes.rs Updates REST API core container import to renamed crate.
packages/axum-rest-tracker-api-server/src/v1/context/stats/responses.rs Updates REST API core services import to renamed crate.
packages/axum-rest-tracker-api-server/src/v1/context/stats/resources.rs Updates REST API core services import to renamed crate (incl. tests).
packages/axum-rest-tracker-api-server/src/v1/context/stats/handlers.rs Updates REST API core service imports and UDP server stats repository type to renamed crate.
packages/axum-rest-tracker-api-server/src/server.rs Updates axum-server + REST API core imports to renamed crates (incl. tests).
packages/axum-rest-tracker-api-server/src/routes.rs Updates REST API core container import to renamed crate.
packages/axum-rest-tracker-api-server/src/environment.rs Updates axum-server, REST API client/core, and UDP server imports to renamed crates.
packages/axum-rest-tracker-api-server/Cargo.toml Renames package and updates dependency keys to renamed axum-server/client/core/udp crates.
packages/axum-http-tracker-server/tests/server/v1/contract.rs Updates test imports to renamed HTTP server crate.
packages/axum-http-tracker-server/src/server.rs Updates axum-server imports to renamed crate (incl. tests).
packages/axum-http-tracker-server/src/lib.rs Updates rustdoc intra-link to renamed UDP server crate identifier.
packages/axum-http-tracker-server/src/environment.rs Updates TLS helper import to renamed axum-server crate.
packages/axum-http-tracker-server/README.md Updates docs.rs link to renamed HTTP server crate name.
packages/axum-http-tracker-server/Cargo.toml Renames package, updates axum-server dep key, pins dev rand to 0.9.
packages/axum-health-check-api-server/tests/server/contract.rs Updates test imports to renamed health-check/HTTP/REST/UDP crates.
packages/axum-health-check-api-server/src/server.rs Updates graceful shutdown import to renamed axum-server crate.
packages/axum-health-check-api-server/README.md Updates docs.rs link to renamed health-check crate name.
packages/axum-health-check-api-server/Cargo.toml Renames package and updates axum-server + dev-dep crate keys to renamed packages.
docs/issues/open/1816-1669-07-align-torrust-prefix-rename-tracker-specific-packages.md Updates issue spec to reflect rename implementation status and new names.
docs/issues/open/1805-fix-workspace-coupling-report-for-brace-and-reexport-imports.md Updates coupling report references to renamed axum-server crate.
docs/issues/open/1726-reduce-build-times-sccache/benchmark-results.md Updates benchmark docs references to renamed crates.
docs/issues/open/1669-overhaul-packages/workspace-coupling-report.md Updates coupling report references to renamed crates/identifiers.
docs/issues/open/1669-overhaul-packages/readme-audit.md Updates README audit tables to renamed crate names.
docs/issues/open/1669-overhaul-packages/EPIC.md Updates EPIC package inventory and SI-07 tracking to reflect rename.
docs/issues/closed/1813-1669-06-resolve-bittorrent-tracker-core-rest-api-layer-violation.md Updates closed issue doc to renamed REST API client name.
docs/issues/closed/1804-use-cargo-machete-with-metadata-and-remove-unused-dev-deps.md Updates closed issue doc references to renamed crates.
docs/issues/closed/1732-replace-aquatic-udp-protocol/step-3-bittorrent-primitives-problem.md Updates closed issue doc crate-name references to renamed crates.
Cargo.toml Updates workspace dependency keys to renamed package names.
Cargo.lock Regenerated lockfile reflecting renamed packages and rand version selection changes.
AGENTS.md Updates package inventory table to renamed crate names.
.github/workflows/deployment.yaml Updates cargo publish -p ... package names to renamed crates.
Comments suppressed due to low confidence (4)

docs/issues/open/1816-1669-07-align-torrust-prefix-rename-tracker-specific-packages.md:52

  • The background section says “Seven crates carry the torrust- prefix”, but the table lists the new torrust-tracker-* names. This contradicts the text and makes it unclear what is being renamed; the table should list the original torrust-* crate names (or adjust the surrounding wording to match the post-rename state).
    docs/issues/open/1816-1669-07-align-torrust-prefix-rename-tracker-specific-packages.md:72
  • The “Proposed name mapping” table currently maps each crate name/identifier to itself (new → new), which removes the actual old→new mapping information needed to understand the rename. Consider restoring the mapping rows (old torrust-* → new torrust-tracker-*, old Rust identifier → new Rust identifier).
    docs/issues/open/1816-1669-07-align-torrust-prefix-rename-tracker-specific-packages.md:182
  • The progress log states server-lib now depends on torrust-net-primitives (not torrust-tracker-primitives), but earlier in this spec the “Note on torrust-server-lib” still describes a torrust-tracker-primitives dependency for ServiceBinding. Please reconcile these sections so the spec is internally consistent.
    docs/issues/open/1816-1669-07-align-torrust-prefix-rename-tracker-specific-packages.md:218
  • Manual verification commands M1/M2 are intended to detect stale references to the old crate names/identifiers, but the grep patterns include the new names (e.g. torrust-tracker-axum-server, torrust_tracker_axum_http_server). These checks will pass even if old references remain; update them to search for the old torrust-* package names and old torrust_* identifiers instead.

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

Comment thread src/lib.rs Outdated
Comment thread docs/issues/open/1669-overhaul-packages/EPIC.md Outdated
Comment thread .github/workflows/deployment.yaml Outdated
Comment thread .github/workflows/deployment.yaml Outdated
Comment thread packages/server-lib/README.md Outdated
@codecov
Copy link
Copy Markdown

codecov Bot commented May 20, 2026

Codecov Report

❌ Patch coverage is 85.71429% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 77.69%. Comparing base (25ade29) to head (c6e399a).

Files with missing lines Patch % Lines
...racker-api-server/src/v1/context/stats/handlers.rs 50.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1817      +/-   ##
===========================================
- Coverage    77.70%   77.69%   -0.02%     
===========================================
  Files          379      379              
  Lines        28605    28605              
  Branches     28605    28605              
===========================================
- Hits         22227    22224       -3     
- Misses        6064     6073       +9     
+ Partials       314      308       -6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Add a missing companion script that prints full thread details (ID, path,
URL, author, comment body) for all unresolved PR review threads.

Previously, list-unresolved-threads.sh only output IDs/paths/URLs, leaving
no provided way to read the actual suggestion bodies from the fetched JSON.
This caused ad-hoc workarounds instead of using the skill tooling.

Changes:
- Add fetch-review-threads/scripts/show-unresolved-thread-bodies.sh
- Update fetch-review-threads/SKILL.md: document new script, add 3-step
  recommended usage (fetch -> show bodies -> compact list)
- Update process-copilot-suggestions/SKILL.md: step 3 now calls
  show-unresolved-thread-bodies.sh first before list-unresolved-threads.sh
- Update semantic-links in both SKILL.md frontmatters
Five issues flagged by copilot-pull-request-reviewer:

- src/lib.rs: fix typo in REST API path (vi -> v1)
- docs/issues/open/1669-overhaul-packages/EPIC.md: mark SI-07 as DONE in
  the Details table (was TODO; quick list already had it checked)
- .github/workflows/deployment.yaml: fix wrong package name
  torrust-torrust-server-lib -> torrust-server-lib
- .github/workflows/deployment.yaml: fix wrong package name
  torrust-tracker-torrent-benchmarking ->
  torrust-tracker-torrent-repository-benchmarking
- packages/server-lib/README.md: fix docs.rs link pointing to
  torrust-tracker-axum-server -> torrust-server-lib
…generalization path

torrust-tracker-axum-server carries the torrust-tracker- prefix because tsl.rs
depends on TslConfig (from torrust-tracker-configuration) and LocatedError/DynError
(from torrust-tracker-located-error). Both dependencies are temporary:

- TslConfig is a small two-field struct with no tracker-specific logic; it could
  be moved to a generic package.
- torrust-tracker-located-error is planned for rename to torrust-located-error
  (SI-10), which removes its tracker-specific character.

Once those changes land the package could become a generic torrust-axum-server
reusable across the Torrust organisation. A near-identical module already exists
in torrust-index (src/web/api/server/custom_axum.rs).

Document this observation in packages/axum-server/README.md and in the EPIC
Desired Package State section for traceability.

Part of torrust#1669 (SI-07)
@josecelano
Copy link
Copy Markdown
Member Author

ACK c6e399a

@josecelano josecelano merged commit f8d3b65 into torrust:develop May 21, 2026
18 checks passed
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.

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

2 participants