Releases: stupside/castor
Releases · stupside/castor
Release list
v1.8.1
v1.8.0
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
v1.7.1
v1.7.0
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
castor: v1.5.0
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
castor: v1.6.0
v1.4.3
What's Changed
Full Changelog: v1.4.2...v1.4.3