Commit Graph

19 Commits

Author SHA1 Message Date
imSp4rky
0ebe33869b ci(release): add daily automated version bump and changelog workflow
Add version-bump.yml: daily git-cliff semver bump on dev (version files, uv.lock, prepended CHANGELOG entry, tag). Switch release.yml gate to compare against latest GitHub release instead of latest tag, since every bump is now tagged. Allow .github/ through the hidden-dir gitignore rule.
2026-06-10 18:48:37 +00:00
imSp4rky
29232925d5 feat(subtitle): data-driven conversion registry + SubtitleEdit 5 support
Replace the hardcoded conversion if/elif in Subtitle.convert with a capability-matrix backend registry (subtitle_convert.py): each backend declares the source->target pairs it supports plus a rank, and run_conversion tries them in order as a real fallback chain. conversion_method pins a backend but still falls back (pin-then-fallback).

- Detect the cross-platform SubtitleEdit 5+ CLI (seconv) and use its --flag syntax for convert, SDH stripping, and reverse-RTL
- Protect styled ASS/SSA from automatic SRT downconversion; honor an explicit --sub-format / sidecar_format
- Read segmented fVTT (wvtt) and fTTML (stpp) directly from fragmented MP4
- Improve ASS/SSA font detection: inline \fn overrides, Format-located Fontname column, @-prefix strip, case-insensitive de-dup; covers SSA too
- Update SUBTITLE_CONFIG.md, example yaml, README; add regression tests and a backend benchmark script
2026-06-07 22:21:25 -06:00
imSp4rky
13f924f825 feat(dl): add real bitrate probing (-rvb/-rab)
Add --real-video-bitrate/-rvb and --real-audio-bitrate/-rab to measure a track's true bitrate from actual media size instead of the manifest's declared value, which is often inflated. Useful for accurate track listings and --vbitrate/--vbitrate-range selection.
Single-file tracks are measured exactly; segmented HLS/DASH/ISM are sampled. Only the top renditions per quality tier are probed, in parallel, so it stays fast. Without the flags, behaviour is unchanged.
2026-05-24 17:30:40 -06:00
imSp4rky
b0ae88812c fix(vaults): enable WAL on SQLite vault to fix concurrent locks 2026-05-21 23:00:39 +00:00
imSp4rky
746b573711 test(remote): add unit + e2e suite for remote-services subsystem
Covers RemoteClient/RemoteService, REST routes, handlers, SessionStore, InputBridge, DownloadQueueManager, errors, compression, and serve CLI. E2e tier opts in via --live and can auto-spawn its own serve.
2026-05-21 10:45:25 -06:00
imSp4rky
7b7255dec0 feat(docs): add AGENTS.md to .gitignore 2026-05-04 15:49:53 -06:00
imSp4rky
c051d9df23 ci(security): add Bandit pre-commit hook 2026-04-02 13:23:26 -06:00
imSp4rky
d37a1a514f chore(gitignore): ignore binary files in unshackle/binaries/ 2026-03-30 05:27:37 +00:00
Andy
b11b23e529 chore(release): bump version to 3.1.0 2026-02-23 16:27:05 -07:00
Andy
3571c5eb3c style: apply ruff formatting fixes 2025-10-23 18:11:30 +00:00
Andy
7a49a6a4f9 docs: add dev branch and update README 2025-10-17 20:41:09 +00:00
Andy
058bb60502 feat: update path of update_check.json to .gitignore 2025-08-01 17:44:11 +00:00
Andy
7583129e8f feat: Enhance credential management and CDM configuration in unshackle.yaml 2025-08-01 17:41:19 +00:00
Andy
ec16e54c10 fix(binaries): 🐛 Improve local binary search functionality
* Added logic to check for executables in a local `binaries` directory.
* Enhanced Windows support by checking for `.exe` extensions.
* Removed unnecessary `binaries/` entry from `.gitignore`.
2025-07-25 08:32:26 +00:00
Andy
c30b9112a1 Fixes github actions not finding the uv.lock file 2025-07-20 02:50:50 +00:00
Andy
52ce0ed7f7 feat: add Dockerfile and GitHub Actions workflow for building and publishing Docker image 2025-07-20 02:47:08 +00:00
Andy
fd2d9829a1 feat: add .github/ to .gitignore to exclude GitHub-related files 2025-07-18 21:53:57 +00:00
Andy
6037b640ac feat: update .gitignore and enhance README with planned features 2025-07-18 18:30:55 +00:00
Andy
d37014f53f Initial Commit 2025-07-18 00:46:05 +00:00