Skip to content

Releases: Sea-Shell/sortarr

v2.20.2

Choose a tag to compare

@github-actions github-actions released this 24 Jun 20:58
eea806c

2.20.2 (2026-06-24)

  • fix(ci): guard build job against empty release tag (#410) (eea806c), closes #410
    The build job in the release workflow runs on every push to main, but
    only makes sense when a new semantic-release tag was actually created.
    Without an if-guard, it tries to checkout refs/tags/ (empty git-tag
    output) and fails with 'pathspec did not match any file(s)'.

Add if: needs.release.outputs.new-release-published == 'true' to
the build job, matching the pattern already used by the deploy job.

v2.20.1

Choose a tag to compare

@github-actions github-actions released this 24 Jun 19:08
d9627ae

2.20.1 (2026-06-24)

  • fix(pipeline): decouple Phase 1 lookback from cross-pipeline tracking + add pipeline sorting (#409) (d9627ae), closes #409
  • fix(pipeline): decouple Phase 1 lookback from cross-pipeline tracking + add pipeline sorting

Root cause: _compute_published_after() used get_min_tracking_for_subscription()
which returns the MIN(last_processed) across ALL pipelines. When a broad-scope
pipeline processed a subscription recently, this narrowed the YouTube API
lookback window in Phase 1 to just hours, causing zero activities to be
fetched for pipelines with narrow subscription scopes.

Fix: Remove cross-pipeline tracking from _compute_published_after(). Phase 1
now uses settings.published_after if set, otherwise reprocess_days, or 52-week
fallback. Per-pipeline freshness check at checkpoint 2.2 remains independent.

Also adds pipeline sort_order support:

  • V9 migration: ALTER TABLE pipelines ADD COLUMN sort_order
  • get_pipelines(): ORDER BY sort_order ASC, name ASC
  • create_pipeline(): auto-increment sort_order from MAX + 1
  • New PUT /pipelines/reorder batch endpoint
  • PipelineCreate/Update/Response models with sort_order
  • PipelineConfig dataclass with sort_order
  • UI: ▲/▼ reorder buttons on pipeline cards, sort_order field in modal
  • fix: address critic findings — full-list reorder API, PipelineConfig sort_order, validation, tests
  • ci(deps): update azure/k8s-set-context digest to 8698eba (#406) (51579e2), closes #406
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>
  • ci(deps): update nrkno/github-workflow-semantic-release action to v4.14.0 (#408) (9e5c4af), closes #408
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>
  • chore(deps): lock file maintenance (#404) (3227068), closes #404
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>
  • chore(deps): update dependency pydantic-settings to v2.14.2 [security] (#402) (0c49bca), closes #402
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>
  • chore(deps): update python:3.14-slim docker digest to 63a4c7f (#407) (14e79d2), closes #407
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>
  • chore(deps): update python:3.14-slim docker digest to f54c5f3 (#405) (2efb428), closes #405
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>

v2.20.0

Choose a tag to compare

@github-actions github-actions released this 21 Jun 17:24
a86871b

2.20.0 (2026-06-21)

  • feat(ui): complete UX redesign with light theme, sidebar nav, and accessibility fixes (#401) (a86871b), closes #401

v2.19.2

Choose a tag to compare

@github-actions github-actions released this 19 Jun 20:10
9f6f55d

2.19.2 (2026-06-19)

  • fix: include subscription_id/channel_id in run decisions and add lookback window to skip details (#4 (9f6f55d), closes #400

v2.19.1

Choose a tag to compare

@github-actions github-actions released this 19 Jun 20:00
502b50e

2.19.1 (2026-06-19)

  • fix: log decisions when pipeline subscription has no activity (#399) (502b50e), closes #399
    Previously when a targeted subscription had no recent YouTube activity
    or the API call failed, the pipeline silently skipped it without
    recording any decision. Now both cases log a subscription_skipped
    decision with a clear reason (no_new_activity / api_error).

v2.19.0

Choose a tag to compare

@github-actions github-actions released this 19 Jun 19:52
e7b7931

2.19.0 (2026-06-19)

  • feat: show pipeline name on runs page (#398) (e7b7931), closes #398
    Pipeline runs now store pipeline_id when triggered for a single
    pipeline. Runs page displays pipeline name column.

v2.18.0

Choose a tag to compare

@github-actions github-actions released this 19 Jun 06:40
50b1054

2.18.0 (2026-06-19)

v2.17.1

Choose a tag to compare

@github-actions github-actions released this 18 Jun 11:03
3ecca5e

2.17.1 (2026-06-18)

  • fix(deps): update dependency @playwright/test to v1.61.0 (#396) (3ecca5e), closes #396
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>

  • ci(deps): update actions/checkout action to v6.0.3 (#393) (092cac4), closes #393
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>

  • ci(deps): update astral-sh/setup-uv action to v8.2.0 (#394) (415996a), closes #394
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>

  • ci(deps): update nrkno/github-workflow-semantic-release action to v4.13.0 (#395) (1485b96), closes #395
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>

  • chore: added some stuff (#389) (f4985c0), closes #389

  • chore(deps): lock file maintenance (#390) (b22da0a), closes #390
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>

  • chore(deps): pin dependency @playwright/test to v1.60.0 (#391) (b0b6fdb), closes #391
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>

  • chore(deps): update python:3.14-slim docker digest to 44dd044 (#392) (13c8e4c), closes #392
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>

v2.17.0

Choose a tag to compare

@github-actions github-actions released this 12 Jun 21:14
a013aa9

2.17.0 (2026-06-12)

  • feat(ui): add sortarr icon set (splitter concept) (#387) (a013aa9), closes #387
  • feat(pipeline): add detailed routing info to video decisions
  • pipeline_runner: include pipeline name, rule, playlist, pipeline_id in reason_detail for added videos
  • ui: show 'Confirmed' badge and highlight match details in run details table
  • feat(ui): compact run-detail page with expandable skipped videos
  • Added tracks now center of attention with green highlight and 'Added to Playlist' header
  • Skipped/error videos hidden in expandable
    section
  • Subscription skips remain visible
  • Summary counts color-coded (green added, muted skipped, red errors)
  • feat(ui): add app icons with neon cyberpunk theme
  • icon.svg: Full-size animated SVG with flow particles, sort arrows, playlist blocks
  • favicon.svg: Compact 32x32 version for browser tabs
  • manifest.json: PWA manifest for installable app
  • All icons use neon red/cyan/green color scheme matching UI
  • feat(ui): use new sortarr icons (splitter concept)
  • sortarr-icon.svg: Full neon version with dark bg
  • sortarr-icon-transparent.svg: Transparent bg for favicon
  • sortarr-icon-mono.svg: Monochrome for mask-icon/notifications
  • Updated manifest.json and index.html references
  • chore(ui): remove old icon files (replaced by sortarr-icon set)

v2.16.0

Choose a tag to compare

@github-actions github-actions released this 12 Jun 19:58
779c4a7

2.16.0 (2026-06-12)

  • feat(pipeline): add detailed routing info to video decisions (#386) (779c4a7), closes #386
  • feat(pipeline): add detailed routing info to video decisions
  • pipeline_runner: include pipeline name, rule, playlist, pipeline_id in reason_detail for added videos
  • ui: show 'Confirmed' badge and highlight match details in run details table
  • feat(ui): compact run-detail page with expandable skipped videos
  • Added tracks now center of attention with green highlight and 'Added to Playlist' header
  • Skipped/error videos hidden in expandable
    section
  • Subscription skips remain visible
  • Summary counts color-coded (green added, muted skipped, red errors)
  • chore(deps): update python:3.14-slim docker digest to 3fa9f11 (#384) (41cb4de), closes #384
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>
  • chore(deps): update python:3.14-slim docker digest to d7a925f (#385) (0348c98), closes #385
    Co-authored-by: sea-shell-renovate[bot] <276363836+sea-shell-renovate[bot]@users.noreply.github.com>