Skip to content

Releases: synrise25/rss-pod

v0.12.3

Choose a tag to compare

@github-actions github-actions released this 30 Sep 05:28
ed9de91

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

Choose a tag to compare

@github-actions github-actions released this 30 Sep 03:26
a69260f

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

Choose a tag to compare

@github-actions github-actions released this 28 Sep 13:38
0b8b4b9

配置修正

  • .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

Choose a tag to compare

@github-actions github-actions released this 28 Sep 13:16
ce1bb0c

新增

  • 内容筛选支持 Jev,使用 screening.services: [jev, llm.gemini] 等有序链配置,失败或超限时自动尝试下一服务。
  • Jev 跳过概率阈值默认 0.7,可按来源覆盖;判断理由显示概率和阈值。
  • 保存并展示实际筛选服务、模型版本和概率,缓存随规则、模型、阈值及服务顺序变化失效。

升级要求

  1. 顶层配置版本改为 version: 7。
  2. 移除旧的 screening.llm;例如 llm: [gemini] 改为 services: [llm.gemini]。新版本不再兼容旧字段。
  3. 使用 Jev 时配置 services.jev 的 API 地址、密钥、模型和超时。API 基础地址不含 /systemone。
  4. 启动新版本前执行 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

Choose a tag to compare

@github-actions github-actions released this 27 Sep 02:32
7f7f351

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

Choose a tag to compare

@github-actions github-actions released this 24 Sep 16:10
6e2d349

更新

  • 将 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

Choose a tag to compare

@github-actions github-actions released this 24 Sep 15:58
882a1a7

修复

  • 修复 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-incomplete when 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 llm queue 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

Choose a tag to compare

@github-actions github-actions released this 24 Sep 15:02
a9369bb

新功能

  • 新增生成前内容筛选,可使用独立的低成本 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.llm with 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

Choose a tag to compare

@github-actions github-actions released this 21 Sep 01:04
fe7b79a

新功能

  • 当前播客完整缓冲后,自动预加载当前播放列表中的下一集,减少网络不佳时的切换等待。
  • 手动切换与自动连播直接复用预加载音频;更换日期、来源或跳播时清理不再需要的缓存。
  • 最多提前加载一集,并保留已完整缓冲的下一集,避免拖动进度时丢失缓存。

预加载仅在当前页面有效,实际缓冲量受浏览器策略影响,不等同于离线下载。

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

Choose a tag to compare

@github-actions github-actions released this 19 Sep 15:34
4c29f50

What's Changed

Full Changelog: v0.9.1...v0.9.2