Releases: synrise25/rss-pod
Release list
v0.12.3
What's Changed
- fix: accept example.com body text in Crawl4AI checks by @synrise25 in #25
Full Changelog: v0.12.2...v0.12.3
v0.12.2
What's Changed
- feat: simplify onboarding and check enabled source dependencies by @synrise25 in #24
Full Changelog: v0.12.1...v0.12.2
v0.12.1
配置修正
.env.example补齐JEV_BASE_URL、JEV_API_KEY、JEV_MODEL,密钥默认留空。config.example.yaml的 Jev 地址、密钥和模型引用上述环境变量。- Jev
timeout直接在 YAML 中设为30s,无需JEV_TIMEOUT。 - 同步中英文配置说明和配置加载测试。
使用更新后的配置示例时,即使关闭 Jev,也必须将上述三个变量补充到部署环境中(密钥可为空);筛选仍默认关闭。配置版本保持 7,本补丁没有新增数据库迁移。
English
Aligns Jev configuration examples with environment variables for the API base URL, API key, and model. .env.example includes safe defaults with an empty key. Set the request timeout directly in YAML (30s); JEV_TIMEOUT is unnecessary.
When adopting the updated example, define JEV_BASE_URL, JEV_API_KEY, and JEV_MODEL in the deployment environment even when Jev is disabled; the API key may be empty. Screening remains disabled by default. Configuration version remains 7; this patch adds no database migration.
Validation: Go tests, go vet, formatting, Docker build, and configuration loading.
v0.12.0
新增
- 内容筛选支持 Jev,使用
screening.services: [jev, llm.gemini]等有序链配置,失败或超限时自动尝试下一服务。 - Jev 跳过概率阈值默认
0.7,可按来源覆盖;判断理由显示概率和阈值。 - 保存并展示实际筛选服务、模型版本和概率,缓存随规则、模型、阈值及服务顺序变化失效。
升级要求
- 顶层配置版本改为
version: 7。 - 移除旧的
screening.llm;例如llm: [gemini]改为services: [llm.gemini]。新版本不再兼容旧字段。 - 使用 Jev 时配置
services.jev的 API 地址、密钥、模型和超时。API 基础地址不含/systemone。 - 启动新版本前执行
rss-pod migrate --config /app/config.yaml,增加筛选元数据字段。
配置示例默认关闭外部调用。升级不会自动重新处理已跳过节目。
English
Adds Jev as an optional screening backend with ordered LLM fallback, a configurable skip-probability threshold (default 0.7), and persisted provider/model/probability metadata visible to administrators.
Breaking configuration change: set version: 7 and replace screening.llm: [name] with screening.services: [llm.name]. Use [jev, llm.name] for Jev-first screening. Configure the services.jev connection separately. Run migrate before starting the new application to add screening metadata columns.
Validation
Go tests including isolated PostgreSQL integration tests, go vet, gofmt, 11 player tests, and Docker build. Release images support linux/amd64 and linux/arm64.
v0.11.3
What's Changed
- fix: keep overnight episodes on their task edition date by @synrise25 in #21
Full Changelog: v0.11.2...v0.11.3
v0.11.2
更新
- 将 River、PostgreSQL 驱动及相关模块从 v0.44.0 统一升级至 v0.47.0。
- 现有孤立任务恢复保护保持不变:River 的 snooze 使用 scheduled/available 状态,两者均已覆盖;无需新增 snoozed 数据库状态。
- 此次依赖升级没有新增 PostgreSQL 迁移或配置项。中英文 README 的现有说明仍然适用。
验证通过:完整 Go 测试(含 PostgreSQL 集成测试)、go vet、模块校验及 Docker 构建。
Updates
- Upgrade River, its PostgreSQL driver, and related modules from v0.44.0 to v0.47.0.
- Preserve existing orphan recovery protection. Snoozed River jobs use scheduled/available states, both already protected; no additional database state is required.
- No new PostgreSQL migrations or configuration options. Existing instructions in both READMEs remain applicable.
Validated with the full Go test suite including PostgreSQL integration tests, go vet, module verification, and Docker builds.
PR: #20
v0.11.1
修复
- 修复
poll --resume-incomplete无法恢复中间状态孤立节目的问题:当 River 任务已删除或取消且没有活跃任务时,content_ready、script_ready等未完成状态现在可继续处理。 - 恢复复用已保存的资料、脚本和音频片段;已发布、筛选跳过以及仍有活跃任务的节目不会重复入队。单节目 retry API 使用同样的规则。
- 同步中英文 README,说明恢复范围、
--limit的含义,以及筛选和脚本生成共享runtime.jobs.queues.llm.concurrency,无需单独配置 screen 队列。
从 v0.11.0 升级无新增配置或数据库迁移。更新镜像并重启后,可重新执行带 --resume-incomplete 的 poll 命令;恢复范围限于本次 RSS 列表。
Fixes
- Recover orphaned episodes in intermediate states with
poll --resume-incompletewhen their River jobs have been cancelled or deleted and no active jobs remain. - Reuse saved content, scripts, and audio segments. Published, editorially skipped, and actively queued episodes remain protected against duplicate processing. The per-episode retry API follows the same rules.
- Update both READMEs with recovery scope, item-limit semantics, and the shared screening/script
llmqueue concurrency.
No new configuration or database migration is required when upgrading from v0.11.0. Pull the updated image, restart, and rerun polling with --resume-incomplete to recover eligible episodes present in the current RSS response.
Validated with PostgreSQL integration tests, the full Go test suite, go vet, web tests, and Docker builds.
PR: #19
v0.11.0
新功能
- 新增生成前内容筛选,可使用独立的低成本 LLM 判断推广、抽奖、赠码、刷楼等内容是否缺少实质讨论。默认关闭,支持 defaults 与 source 按字段覆盖。
- 复用
services.llm,支持独立回退列表和补充筛选要求;使用与脚本生成相同的资料,不额外抽样回复。 - 持久化判断结果、原因与模型,重试复用有效结果;跳过后不生成脚本或音频。失败恢复不会绕过筛选。
- 管理员页新增“最近跳过的内容”,管理 API 提供筛选结果。中英文 README 和配置示例同步更新。
升级说明
先执行 rss-pod migrate,再启动新版本。配置版本仍为 6,旧配置继续有效,筛选需要显式开启。资料沿用 120,000 字符上限,应选择能容纳输入的模型。模型不确定时保留内容;接口故障会重试,耗尽后失败而非静默放行。
What's new
- Add optional content screening before script generation, using separately selected low-cost models from
services.llmwith ordered fallback and per-source overrides. - Reuse the full script-generation input within the existing 120,000-character limit, without extra reply sampling.
- Persist decisions, reasons, and model identity; reuse unchanged results on retries and protect generation and recovery paths from bypassing screening.
- Add a recently skipped list to the authenticated admin page and screening results to the management API. Synchronize English and Chinese documentation.
Run rss-pod migrate before starting the upgraded application. Configuration version 6 remains compatible; screening is off by default. Uncertain editorial decisions keep the content, while service failures follow normal retry/failure handling.
Container images
ghcr.io/synrise25/rss-pod:0.11.0 · ghcr.io/synrise25/rss-pod:0.11 · ghcr.io/synrise25/rss-pod:latest
Platforms: linux/amd64, linux/arm64.
Changes: #18
v0.10.0
新功能
- 当前播客完整缓冲后,自动预加载当前播放列表中的下一集,减少网络不佳时的切换等待。
- 手动切换与自动连播直接复用预加载音频;更换日期、来源或跳播时清理不再需要的缓存。
- 最多提前加载一集,并保留已完整缓冲的下一集,避免拖动进度时丢失缓存。
预加载仅在当前页面有效,实际缓冲量受浏览器策略影响,不等同于离线下载。
What's new
- Preload the next episode once the playing episode is fully buffered, and reuse its audio element for manual next and automatic continuation.
- Keep at most one upcoming episode and clean up obsolete downloads when the queue changes. Preserve completed preloads while seeking.
- Add nine player regression tests to CI.
Preloading is page-local and subject to browser buffering policies; it is not an offline download feature.
Container images
ghcr.io/synrise25/rss-pod:0.10.0 · ghcr.io/synrise25/rss-pod:0.10 · ghcr.io/synrise25/rss-pod:latest
Platforms: linux/amd64, linux/arm64.
Changes: #17
v0.9.2
What's Changed
- Fix recovery after River job cancellation by @synrise25 in #16
Full Changelog: v0.9.1...v0.9.2