Skip to content

Beta Builds

JovinJovinsson edited this page Aug 4, 2026 · 3 revisions

Beta builds

Every push to the uat branch (the integration branch changes land on before they're tagged and released on main) automatically builds and publishes a beta track, so you can try upcoming changes on your own server ahead of a real release. Beta builds pass the same test suite (pytest/ruff/mypy, vitest/tsc/eslint) as a tagged release, but they're pre-release code — expect rougher edges than a version tagged on main, and don't run them somewhere that matters if something breaks.

There's no PyPI beta channel — pip/pipx install collapsarr always installs the latest stable release. Beta is Docker-tag or manual-wheel only, as described below.

Docker

services:
  collapsarr:
    image: odxnsson/collapsarr:beta
    container_name: collapsarr
    ports:
      - "8282:8282"
    volumes:
      - ./config:/config
      - /path/to/media:/media
    environment:
      - PUID=1000
      - PGID=1000
    restart: unless-stopped
  • odxnsson/collapsarr:beta — rolling tag, always the most recent uat push.
  • odxnsson/collapsarr:beta-v<base>.<build> — immutable tag for one specific build, e.g. odxnsson/collapsarr:beta-v0.2.1.0007. Use this if you want to pin to a build you've verified rather than floating with every uat push, or to roll back to a known-good beta after a bad one. The two numbers are an orderable build identity (see The version number below): later builds always have a higher build count, so the tags sort in build order.
docker compose pull && docker compose up -d

Bare-metal / pipx

Beta builds aren't published to PyPI, so pipx install collapsarr won't see them. Instead, grab the wheel directly from a beta build's GitHub Pre-release:

  1. Open the Releases page and find the entry tagged beta-v<base>.<build> marked Pre-release (e.g. beta-v0.2.1.0007; these tags sort in build order, so the highest-numbered one is the latest uat push). It won't ever be marked "Latest" — that badge is reserved for real semver releases.

  2. Download the .whl attached to that release.

  3. Install it:

    pipx install ./collapsarr-*.whl
    # or, upgrading an existing install:
    pipx install --force ./collapsarr-*.whl

The version number

A beta build's version looks like 0.2.1.0007+beta, and its Docker/GitHub Release tag like beta-v0.2.1.0007. It's built from two auto-derived numbers:

  • Target version (0.2.1) — the next patch release after the latest stable v*.*.* tag. So while v0.2.0 is the newest stable release, every beta is stamped as heading toward 0.2.1. Once a real v0.2.1 (or higher) ships, the following beta advances to the next target.
  • Build number (0007) — how many commits have landed on uat since that latest stable tag, zero-padded to four digits. It climbs by one each build and restarts at 0001 right after every real release.

Because the build number only ever increases within a target version (and is zero-padded), the tags sort correctly as plain strings — beta-v0.2.1.0007 is newer than beta-v0.2.1.0006, at a glance and to any tooling. The trailing +beta is a PEP 440 local version segment: it keeps the build from ever being mistaken for a real PyPI release.

Going back to stable

  • Docker: switch the image tag back to odxnsson/collapsarr:latest (or a specific version tag) and docker compose up -d again.
  • Bare-metal: pipx install --force collapsarr reinstalls the latest stable release from PyPI over the beta build.

See the main README for general install/configuration docs.

Clone this wiki locally