Skip to content

Releases: TheDancingDeveloper-org/rustTorrent

rustTorrent v0.1.0-beta.3

Choose a tag to compare

@thedancingdeveloper thedancingdeveloper released this 31 Jul 10:56
e2db4c2

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
    .fastresume data rather than the exported .torrent file.
  • 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-only and RTBIT_STORAGE_READ_ONLY opt 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 savepath values 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 coordinated swarmforge / swarmforge-* 0.1.0 family on crates.io.
  • Cargo package identities changed, while compatible Rust library and import
    names such as librtbit::Session and librtbit_core::Id20 remain 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-architecture linux/amd64 and linux/arm64 images to GHCR.

Upgrade notes

  • No intentional destructive session or RSS database migration is included.
  • Keep /home/rtbit/db and /home/rtbit/cache persistent 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 in docs/SWARMFORGE-0.1.0-RELEASE.md.
  • latest and beta move to this release after publication. Pin
    v0.1.0-beta.3 when reproducibility matters.

Validation

  • cargo fmt --all -- --check
  • cargo check --workspace --exclude rtbit-desktop --no-default-features --features default-tls
  • cargo test --workspace --exclude rtbit-desktop --no-default-features --features default-tls
  • cargo 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 .zip and .tar.gz archives 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

Choose a tag to compare

@AusAgentSmith AusAgentSmith released this 13 Jul 11:46

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/amd64 and linux/arm64 are
    published to Forgejo and mirrored to GHCR under the version, beta, and
    latest tags.
  • 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 -- --check
  • cargo check --workspace --exclude rtbit-desktop --no-default-features --features default-tls
  • cargo test --workspace --exclude rtbit-desktop --no-default-features --features default-tls
  • cargo 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/db and /home/rtbit/cache persistent. 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.
  • latest and beta move to this prerelease after publication. Pin
    v0.1.0-beta.2 when 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 .zip and .tar.gz archives 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

Choose a tag to compare

@AusAgentSmith AusAgentSmith released this 12 Jun 06:48

Downloads

Includes the librtbit fixes from https://repo.indexarr.net/indexarr/librtbit/commit/2d168a7d2b1daf846fe22a1f4dada1250f28b89a, consumed by 6d040d0.

rustTorrent v0.1.0-alpha.3

Choose a tag to compare

@AusAgentSmith AusAgentSmith released this 11 Apr 23:32

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