• 0.6.0 2c36bc2810

    0.6.0 Stable

    marvin8 released this 2026-07-11 00:48:04 +00:00 | 15 commits to main since this release

    Signed by marvin8
    SSH key fingerprint: SHA256:cyGOzvyFNw+A8J/LVjRif8v3KZLo8seQDVZbk/IhNhI

    [0.6.0] - 2026-07-11

    • Pinned transitive dependencies to address two security vulnerabilities: pydantic-settings (GHSA-4xgf-cpjx-pc3j) and pygments (GHSA-5239-wwwm-4pmq)
    • Updated textual to 8.2.8 and typer to 0.26.8
    • HTTP errors now show actionable messages: 401 prompts re-authentication, network failures and timeouts include retry guidance
    • New --limit / TRAKT_UNRATED_LIMIT option controls how many unrated-watched items load (default 20); a ... row appears when more exist
    • Recommendations now paginate: navigate to the ... row and press Enter to load the next page from Trakt
    • Documentation site now available at https://kokopelli.marvin8.zone

    Commits

    • 🔀 Merge branch 'feat/issue-15-documentation' 85bf8ab
    • ♻️ extract helpers to reduce _ensure_initial_credentials complexity 851c420
    • fix header dict type annotation to satisfy ty checker 3a01fb8
    • 🎬 cap all cast pauses at 2s and replace username in prompts d9fef8d
    • 🎬 add sanitised and trimmed asciinema cast files f6131f2
    • 🐛 always prompt for credentials in --configure, show stored value as default f3ac531
    • 🐛 add trakt-api-version and trakt-api-key headers to OAuth requests 859669f
    • prompt for Client ID and Secret in --configure wizard 984a4d5
    • 🐛 raise_for_status before response.json() in get_access_token d3287b6
    • 📝 guard asciinema player init against exceptions 49d6019
    • 📝 fix arrow-key style and clarify --limit/env precedence in docs 472e844
    • 📝 add documentation URL to pyproject.toml, README, and CLAUDE.md 4d1e71a
    • 👷 add deploy-docs CI job for grebedoc.dev 43b5d8e
    • 📝 write documentation content for all pages eccc6aa
    • 📝 scaffold MkDocs docs site with Material theme and mike versioning d17bba9
    • 🔀 Merge branch 'feat/issue-13-recommendations-pagination' b2eb8e2
    • 📝 correct pagination key in Release-Notes (Enter not ↓) f549115
    • 🐛 guard against None row_key when table is empty 32721a0
    • 🧪 strengthen pagination test assertions 38ce277
    • 🐛 fix recommendations pagination (growing limit, Enter on sentinel) e9ad8b8
    • wire recommendations pagination into TUI 526a4ca
    • add RecommendationsPage and paginated get_recommendations 5ba27f5
    • 🔀 Merge branch 'feat/issue-8-9-error-handling-config' c5e324c
    • 📝 update Release-Notes.md for error handling and --limit changes 0337ac1
    • 📝 addresses review comment https://codeberg.org/marvin8/kokopelli/pulls/10/files#issuecomment-18921932 86fa39c
    • 💚 correct invocation of nox in ci.yml 433319d
    • ⬆️ bump deps bc58987
    • ♻️ extract _ensure_initial_credentials and _maybe_renew_token from tui() 36667ce
    • 🧪 add failing tests for _ensure_initial_credentials and _maybe_renew_token 607142b
    • 🐛 clear row_key_highlighted when cursor moves to sentinel row ee8e3ea
    • add --limit / TRAKT_UNRATED_LIMIT for unrated-watched cap 6f4735e
    • 🐛 fix missing httpx import and reorganize test imports fc4bee0
    • 🐛 handle auth errors at startup with actionable messages 0976bc9
    • 🐛 surface specific error messages in background task handlers 32ceb34
    • 🔀 Merge branch 'feat/issue-5-6-ci-forgejo-releasenotes' d694fb2
    • 📝 add seer integration to improvements d535b57
    • 📝 update Release-Notes.md.template hashtags 383ae95
    • 📝 release notes: point to template; add bullets for next release 9983e10
    • 👷 fix gitleaks checksums filename; read version from pre-commit config 876e2a6
    • 👷 install gitleaks via pinned download with checksum verification e79b75e
    • 👷 use full github URL for gitleaks-action to bypass forgejo mirror 4cdc30d
    • 👷 use gitleaks-action instead of host binary d48345c
    • 👷 replace curl|sh with setup-uv action and system gitleaks 81ee3ff
    • ♻️ extract _extract_unrated_ids to reduce complexity 98d2287
    • 📝 update CLAUDE.md with release process and notes format 33ad1da
    • 🔧 replace git-cliff with Release-Notes.md changelog generation 30d36a4
    • 📝 add Release-Notes.md and template 6265eba
    • 👷 migrate CI from Woodpecker to Forgejo Actions e9560f3
    • ⬆️ bump deps 50766fb
    • 🔧 bump: version 0.5.0 → 0.5.1 c2c3634
    • 🔧 update changelog for 0.5.1 036ccd4
    • Merge branch 'feat/issue-3-add-release-flow' d5f332e
    • 🔧 Add release flow: justfile and cliff.toml 0f56917
    • 🔧 Add git-cliff dev dep and remove stale Release-Notes bumpversion entry d7db392
    • Merge branch 'docs/issue-1-reformat-improvements' 06666b7
    • 🔧 Add non-blocking pytest_betas step to CI pipeline 3dd03dc
    • 🔧 Add free-threaded Python variants and drop requires-python upper bound aec261f
    • 🔧 Update Woodpecker CI checks pipeline 35a1375
    • 🔧 constrain idna>=3.15 to fix GHSA-65pc-fj4g-8rjx c941af4
    • 🔧 fix: add @pytest.mark.asyncio to async tests in test_api_actions 61ca3e7
    • 🔧 fix: mark trakt_api fixture with @pytest_asyncio.fixture 400023b
    • 📝 Switch VCS from jj to git in CLAUDE.md c3c6546
    • 🔧 Remove .secrets.baseline and add gitleaks path allowlist 4a93303
    • 🔧 Update Woodpecker CI checks pipeline b38e105
    • 📝 Add IMPROVEMENTS_detail.md sidecar to preserve metric data 1c1ad6a
    • 📝 Reformat IMPROVEMENTS.md to yilan intent-file format 1c27161
    Downloads