Skip to content

Releases: stupside/castor

v1.8.1

Choose a tag to compare

@github-actions github-actions released this 27 Jul 20:45
2f736b7

1.8.1 (2026-07-27)

Bug Fixes

  • ffmpeg: pass -nostats to the puller invocation (5fb1650)
  • resolve: tiebreak equal-bandwidth candidates by height (3a25c70)

v1.8.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 20:30
4cda4ad

1.8.0 (2026-07-27)

Features

  • add Roku cast target (#50) (f109d47)
  • cast: surround audio and compiler-isolated device strategies (6434ba6)
  • device: connect by pinned host, skipping discovery (dd876cd), closes #24
  • extract: disable site isolation to capture cross-origin iframe requests (bd32c0e)

Bug Fixes

  • cmd: propagate picked device's type and host, not just name (3af67b9)
  • device: derive each family's SelfFetch from its own selfFetches() (857ac35)
  • device: retry DLNA SetAVTransportURI/Play through transient 705 Transport is locked (6130364)
  • ffmpeg: reject subtitle burn-in without a video encoder (faf9e25)
  • media: normalize BitDepths nil-vs-empty handling to match Profiles (42dde0b)

Refactors

  • cast: add SelfFetch renderer capability (d9f9213)
  • cast: capability-driven composition engine (a7b3f07)
  • cast: tier renderers below shared building blocks (2ff4fa8)
  • device: dispatch renderer families through a strategy registry (69d3798)
  • type sentinel strings as named constants and enums (b84a396)

Documentation

  • document how to verify the image SBOM and provenance (c675665)
  • document pinning a device by host (1861a60)
  • media: correct ProbeInfo's blanket unknown-value doc (eaaae7c)

Build System

  • docker: attach an SPDX SBOM and SLSA provenance to the image (aaaf0ee)
  • docker: build image with docker bake (cdb9de6)

v1.7.1

Choose a tag to compare

@github-actions github-actions released this 22 Jul 15:32
ef7363e

1.7.1 (2026-07-22)

Bug Fixes

  • docker: hw capable ffmpeg with good flag support (#43) (44460a9)

Documentation

  • add Trendshift badge (016a64a)
  • restructure installation, configuration, and docker sections (8ecabb2)

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 17:56
540cde1

1.7.0 (2026-07-21)

Features

  • show cast target device in browse header (986b3ee)

Bug Fixes

  • cast: return error from BuildPlan instead of panicking for unknown device type (b4c9a6b)
  • cmd: use CLI framework for --debug flag instead of scanning os.Args (d4c307b)
  • config yaml should be optional (#38) (33eea9f)
  • docker: cli cannot run in castor because of glibc version (#40) (18b6a88)
  • suppress unchecked Close() lint warnings (88be120)
  • wire picked device name into config before browse (c2fa73f)

Refactors

  • cast: collapse deviceConnector and cueSource single-implementation interfaces (a9f92dd)
  • media: simplify FormatForContentType to return (FormatInfo, bool) (521205c)
  • remove subtitle font customization support (d78d5ed)
  • source: deduplicate MIME tables and unexport Extractor.Extract (5858b52)
  • tmdb: remove dead Page.HasMore method and SearchResult.GenreIDs field (42c419d)
  • whisper: collapse WordSink interface and unexport EnsureModel/EnsureVADModel (142e2ec)

Documentation

  • browse: remove stale comment on inspector.load (bebb2b2)

v1.6.2

Choose a tag to compare

@github-actions github-actions released this 20 Jul 22:52
125039b

1.6.2 (2026-07-20)

Bug Fixes

  • drop component prefix and use v in release tags (8c6a853)
  • remove v prefix from cask download URL (62c7703)

Documentation

  • document resolver max_height option (5952564)

Continuous Integration

castor: v1.5.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 19:22
c206d6d

1.5.0 (2026-07-20)

Features

  • add badges to the readme (cf33c6d)
  • add better feedbacks (cb5b4e3)
  • browse: genre discovery, rich metadata, and componentized TUI (898dcdd)
  • browse: tmdb browse tui (abe7305)
  • cast: auto-detect the local interface from the default route (d36085d)
  • cast: read-once spooled pipeline with staged execution (d11493b)
  • cmd: load config lazily so scan and info need none (106afcb)
  • config: default every setting except device and sources (b544edc)
  • discover chromecast devices via mDNS (20993bc)
  • discover Chromecast devices via mDNS (e757f7a)
  • dive into iframe to trigger loading video (eabc76f)
  • don't use ring buffer anymore (172f1dc)
  • drop short streams when ranking candidates (dd93e4d)
  • first commit (849910a)
  • make logs a little bit better looking (4bfa393)
  • release: static CGO whisper.cpp via matrix + zig cross-compilation (48feee9)
  • replay real browser headers to ffmpeg and ffprobe (7ef788f)
  • simplify browse tui access (7b13c18)
  • tmdb: add genre, discover, and details endpoints (3bac0d5)
  • update docker run instruction with working proxy (cf5e010)
  • whisper: in-process transcription via whisper.cpp (a09d67d)
  • whisper: stream subtitles via LocalAgreement-2, VAD, and a realtime-paced encoder (1386dec)

Bug Fixes

  • apply HLS-only ffmpeg input flags to HLS sources only (60207bc)
  • clear quarantine xattr in cask postflight (1d15a29)
  • clear quarantine xattr in cask postflight so castor runs after brew install (c425683), closes #17
  • config: keep defaults when a section is present but empty (bc9fd8b)
  • dlna: stop pacing delivery to the renderer (81183ee)
  • docker image has old ffmpeg version (0affafa)
  • docker: install the ffmpeg/chromium/TLS runtime the pipeline needs (bd1cb14)
  • extract: pass --disable-dev-shm-usage to chromium (a793431)
  • extract: reap headless Chrome on session teardown (aa56480)
  • let real request headers win over header-less captures (b9f6632)
  • release: build whisper with GGML_NATIVE=OFF for portable binaries (98efaa8)
  • release: ignore .zig-cache and whisper build_* dirs (d58ee28)
  • release: matrix parallel whisper builds; stub install_name_tool for darwin cross (114775c)
  • release: native runners for whisper builds, no cross-compile hacks (2c0b780)
  • release: replace Pro-only split/merge with single-runner zig cross-compilation (976eab6)
  • release: use MAJOR.MINOR.PATCH format for zig macOS target triple (6ca20fd)
  • resolve: drop decoy streams with no castable video+audio (4d0f14d)
  • send browser request headers to puller so hotlinked streams work (5651dd9)
  • send browser request headers to puller so hotlinked streams work (ca50081), closes #14
  • stream buffers too much (eeb5bb9)
  • stream can stop after some time (e1aef10)

Refactors

  • cast: split cue shaping out of whisper into a cue package (1e2ea3c)
  • cmd: typed config wiring (a5fcc76)
  • config: compose per-package configs (067977b)
  • device: flatten renderers behind a connect factory (4c02e50)
  • make sources an array without names, remove --source flag (657d041)
  • media: add http header helpers (6360bf9)
  • mirror DLNA discovery on the chromecast pattern (afa52f1)
  • modernize Discover and gate device interface impls (b277fef)
  • replay: remove the now-unused token bucket (7858d0e)
  • source: group extraction and resolution under internal/source (c0eeee4)
  • use explicit 2xx range check instead of the /100 trick (3999cab)

Documentation

  • add a castor mascot to the README (be9cd9b)
  • document Docker usage (ab0dfbd)
  • document subtitle generation and source build (b90c621)
  • drop stale references to the send pacer (8157dd9)
  • minimal config and direnv setup (f925ca9)
  • overhaul README, add CONTRIBUTING and SECURITY (e010f18)
  • readme: add Installation section (Homebrew, Docker, source) (a1c5d13)
  • readme: fix stale commands, add config quickstart and screenshots (b01c55e)

castor: v1.6.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 21:44
99cda1a

1.6.1 (2026-07-20)

Bug Fixes

  • dlna: drive AVTransport and ConnectionManager v1, v2 and v3 (#23) (b18f045)
  • pass ggml include path to cmake for Metal .m files (4b70efd)

Continuous Integration

  • fix empty release version and release on ci commits (a241612)

castor: v1.6.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 20:56
b5f73c8

1.6.0 (2026-07-20)

Features

  • live-edge pacing at realtime with no burst (4feef28)

Bug Fixes

  • reconnect on HTTP 429 with backoff (a2e6eb5)
  • remove non-canonical timestamp gate from LA-2 (0b789d4)

Refactors

  • split HLS fetch from parse (d1f44dd)

v1.4.3

Choose a tag to compare

@github-actions github-actions released this 19 Jul 17:53

What's Changed

  • fix: clear quarantine xattr in cask postflight by @stupside in #18

Full Changelog: v1.4.2...v1.4.3

v1.4.2

Choose a tag to compare

@github-actions github-actions released this 19 Jul 12:12
5651dd9

What's Changed

  • fix: send browser request headers to puller so hotlinked streams work by @stupside in #16

New Contributors

Full Changelog: v1.4.1...v1.4.2