Releases: TheDancingDeveloper-org/rustTorrent
Release list
rustTorrent v0.1.0-beta.3
rustTorrent v0.1.0-beta.3
Summary
rustTorrent 0.1.0-beta.3 improves migration safety, torrent recovery, and
qBittorrent compatibility. It adds fail-closed read-only payload access,
restores tracker lists that are missing from imported metainfo, supports force
rechecks, and corrects save-path handling for multi-file torrents.
This remains beta software. Back up the persistent session directory before
upgrading and avoid using it for data that cannot be downloaded again.
Torrent recovery and verification
- Tracker URLs can be added to existing torrents at runtime and are retained
across JSON and PostgreSQL session reloads. - Restored trackers start announcing immediately for live torrents. This
recovers qBittorrent imports whose effective tracker lists existed only in
.fastresumedata rather than the exported.torrentfile. - Native and qBittorrent-compatible force-recheck endpoints verify payloads
while preserving whether a torrent was paused or live. - The Web UI exposes Force Recheck in the torrent context menu with
appropriate disabled-state handling.
Read-only payload migration
--storage-read-onlyandRTBIT_STORAGE_READ_ONLYopt into filesystem
storage that refuses payload writes, creation, resizing, deletion, and
directory removal.- Existing payloads can be verified without modification, and missing payload
paths remain absent instead of being created implicitly. - qBittorrent
savepathvalues are now treated as payload roots for multi-file
torrents, including the single-entry multi-file metainfo edge case. - Corrected output-folder roots persist through both JSON and PostgreSQL
session backends and are reflected by qBittorrent-compatible API responses.
SwarmForge library family
- The reusable BitTorrent engine and protocol packages are now published as
the coordinatedswarmforge/swarmforge-*0.1.0 family on crates.io. - Cargo package identities changed, while compatible Rust library and import
names such aslibrtbit::Sessionandlibrtbit_core::Id20remain available
through dependency aliases. - All 12 family members must be migrated atomically in a consumer dependency
graph. Mixing historical and SwarmForge package identities can duplicate
shared types. - The historical repositories and packages remain available as rollback
sources. NGMS independently verified consumption of the complete public
SwarmForge family before this release.
Web UI and deployment
- Production
/web/routes now use the same-origin API instead of incorrectly
redirecting requests to the Vite development port. - Source, CI, binary releases, containers, and website delivery now use the
canonical GitHub repository and GitHub Actions workflows. - Main builds publish immutable commit images and release tags publish public
multi-architecturelinux/amd64andlinux/arm64images to GHCR.
Upgrade notes
- No intentional destructive session or RSS database migration is included.
- Keep
/home/rtbit/dband/home/rtbit/cachepersistent and back them up
before upgrading. - For qBittorrent migrations, use read-only storage for the first verification
pass and confirm the payload root expected by each imported torrent. - Consumers of the reusable libraries should follow the atomic migration and
rollback guidance indocs/SWARMFORGE-0.1.0-RELEASE.md. latestandbetamove to this release after publication. Pin
v0.1.0-beta.3when reproducibility matters.
Validation
cargo fmt --all -- --checkcargo check --workspace --exclude rtbit-desktop --no-default-features --features default-tlscargo test --workspace --exclude rtbit-desktop --no-default-features --features default-tlscargo clippy --workspace --exclude rtbit-desktop --no-default-features --features default-tls -- -D warnings- Web UI unit tests, lint, production build, and Playwright browser tests
- Website structural validation
- GitHub release binary build and multi-architecture container publication
Downloads
- Linux x86_64:
rtbit-v0.1.0-beta.3-linux-x86_64 - Windows x86_64:
rtbit-v0.1.0-beta.3-windows-x86_64.exe - Debian/Ubuntu amd64:
rtbit-v0.1.0-beta.3-amd64.deb - Checksums:
SHA256SUMS-v0.1.0-beta.3.txt - Docker:
ghcr.io/thedancingdeveloper-org/rusttorrent:v0.1.0-beta.3 - Source: automatic
.zipand.tar.gzarchives on the GitHub release tag
Release files are attached to the canonical GitHub release and are also
published at https://dl.rusttorrent.dev/v0.1.0-beta.3/.
rustTorrent v0.1.0-beta.2
rustTorrent v0.1.0-beta.2
Summary
rustTorrent 0.1.0-beta.2 is a substantial usability and operability release.
It introduces a polished desktop-style management interface, richer tracker and
session visibility, alternative speed limits, first-class RSS automation, and
a realistic public demo. It also hardens authentication, container startup,
protocol handling, and the release pipeline itself.
This remains beta software. Back up the persistent session directory before
upgrading and avoid using it for data that cannot be downloaded again.
Web UI and torrent management
- The interface now uses a compact, information-dense layout with a unified
toolbar, status sidebar, sortable torrent table, responsive mobile cards,
configurable columns, detail panes, and dark mode. - Torrent rows expose progress, transfer rates, received and uploaded totals,
ETA, peer counts, ratio, category, queue position, sequential mode, and
availability where the backend provides them. - Bulk pause, resume, delete, category, queue, speed-limit, seed-limit,
sequential-download, and super-seeding actions are available from the main
table and context menu. - Per-torrent detail tabs cover overview data, files, peers, pieces, transfer
history, and trackers without leaving the main screen. - Drag-and-drop and multi-file torrent upload flows include file selection,
categories, output folders, and paused/start controls.
Tracker and peer visibility
- Trackers now maintain explicit working, error, and not-contacted states with
seeders, leechers, returned peers, announce timestamps, intervals, and the
most recent error. - The sidebar can filter torrents by tracker, and the detail view presents the
tracker state in a dedicated table. - HTTP and UDP tracker communications have expanded parsing, status, scrape,
IPv4/IPv6, warning, error, and malformed-response coverage. - Deterministic mock tracker and browser tests exercise discovery and the
torrent-management golden path without relying on public infrastructure.
Speed controls and scheduling
- Alternative (turtle-mode) download and upload limits can temporarily replace
normal session limits and restore them when disabled. - A weekly schedule supports selected weekdays and overnight time windows.
- The footer exposes the alternative-speed toggle alongside live session
download, upload, peer, and uptime statistics. - Rate conversion now saturates safely instead of narrowing large values.
RSS, categories, and storage controls
- RSS feeds, feed history, download rules, filtering, polling intervals,
categories, and manual item downloads are managed from a dedicated page. - Torrent categories and category-specific save paths can be created, assigned,
filtered, and removed from the UI. - Download and completed folders can be configured and browsed through the web
interface. - Session, RSS, DHT, and authentication state continue to live under the
configured persistent data/cache mounts.
Authentication and API
- First-run username/password setup, access and refresh tokens, logout, and
persisted credential loading protect the HTTP API and web interface. - The automation-compatible API has broader torrent, category, queue, limit,
preference, and status coverage for automation clients. - Swagger remains available for the native HTTP API once authenticated.
Website and live demo
- The public website and demo are now maintained in the application monorepo
and deployed through the same validated CI pipeline. - The live demo is generated directly from the current React UI source rather
than a separately maintained imitation. - Demo data includes fictional releases, realistic progress and peer activity,
tracker states, categories, and completed/pending RSS history. - Public download links now lead to GitHub Releases.
Reliability and packaging
- The web UI, Rust workspace, desktop workspace membership, and Docker build
have been consolidated so the shipped interface is built from the reviewed
source tree. - Container s6 initialization and service scripts are executable again, so
ownership and runtime configuration hooks complete cleanly on startup. - Persistent DHT, session, RSS, and credential state have been exercised in a
standalone pinned-SHA deployment on Node B. - Fuzz targets and expanded unit, functional, tracker-swarm, and Playwright
coverage protect bencode, DHT, peer protocol, storage, HTTP API, and UI paths.
Source and release distribution
- Forgejo remains the development source of truth, and the complete
main
branch plus this release tag are mirrored to the public GitHub repository. - Linux, Windows, Debian, checksum, and source artifacts are published on both
Forgejo and GitHub Releases. - Multi-architecture Docker images for
linux/amd64andlinux/arm64are
published to Forgejo and mirrored to GHCR under the version,beta, and
latesttags. - CI verifies both source refs, both release objects, every attached artifact,
checksums, and both container architectures before the release is accepted.
Validation
cargo fmt --all -- --checkcargo check --workspace --exclude rtbit-desktop --no-default-features --features default-tlscargo test --workspace --exclude rtbit-desktop --no-default-features --features default-tlscargo clippy --workspace --exclude rtbit-desktop --no-default-features --features default-tls -- -D warnings- Web UI unit tests, ESLint, TypeScript production build, and deterministic
Playwright browser suite - Linux x86_64, Windows x86_64, Debian amd64, and multi-architecture Docker
release builds - Standalone Node B container smoke test with persistent authentication and
session state
Breaking changes and upgrade notes
- No intentional destructive session or RSS database migration is included.
- Authentication is enabled after first-run setup. Existing configured users
should sign in with their current credentials; new installations must finish
setup before using protected endpoints. - Keep
/home/rtbit/dband/home/rtbit/cachepersistent. The recommended
container also persists download and completed directories. - Review automation clients after upgrading because the beta API and UI remain
subject to change before 1.0. latestandbetamove to this prerelease after publication. Pin
v0.1.0-beta.2when reproducibility matters.
Downloads
- Linux x86_64:
rtbit-v0.1.0-beta.2-linux-x86_64 - Windows x86_64:
rtbit-v0.1.0-beta.2-windows-x86_64.exe - Debian/Ubuntu amd64:
rtbit-v0.1.0-beta.2-amd64.deb - Checksums:
SHA256SUMS-v0.1.0-beta.2.txt - Docker:
ghcr.io/ausagentsmith-org/rusttorrent:v0.1.0-beta.2 - Source: automatic
.zipand.tar.gzarchives on the GitHub release tag
All downloadable files are attached to both the Forgejo and GitHub releases
and are also published at https://dl.rusttorrent.dev/v0.1.0-beta.2/.
rustTorrent v0.1.0-beta.1
Downloads
- Linux x86_64:
rtbit-v0.1.0-beta.1-linux-x86_64 - Windows x86_64:
rtbit-v0.1.0-beta.1-windows-x86_64.exe - Debian/Ubuntu:
rtbit-v0.1.0-beta.1-amd64.deb - Checksums:
SHA256SUMS-v0.1.0-beta.1.txt - Docker:
ghcr.io/ausagentsmith-org/rusttorrent:v0.1.0-beta.1(linux/amd64,linux/arm64)
Includes the librtbit fixes from https://repo.indexarr.net/indexarr/librtbit/commit/2d168a7d2b1daf846fe22a1f4dada1250f28b89a, consumed by 6d040d0.
rustTorrent v0.1.0-alpha.3
Downloads
- Linux x86_64:
rtbit-v0.1.0-alpha.3-linux-x86_64 - Windows x86_64:
rtbit-v0.1.0-alpha.3-windows-x86_64.exe - Debian/Ubuntu:
rtbit-v0.1.0-alpha.3-amd64.deb - Docker:
ghcr.io/ausagentsmith-org/rusttorrent:v0.1.0-alpha.3
SHA256 checksums in SHA256SUMS-v0.1.0-alpha.3.txt