Skip to content

Releases: ephes/kptncook

v0.0.31

26 Apr 12:50

Choose a tag to compare

0.0.31 - 2026-04-26

Documentation

  • Add a maintenance disclosure explaining that the repository is maintained
    primarily through coding-agent workflows under maintainer review.
  • Document installing git hooks with prek and add a just update-hooks
    helper for refreshing hook revisions.

Developer Experience

  • Replace the pre-commit development dependency with prek, keeping the
    existing .pre-commit-config.yaml hook configuration and refreshing hook
    revisions, including the resulting hook-driven cleanup.

Fixes

  • #82 Treat missing or empty KptnCook authorComment fields as optional so
    older stored recipes are no longer skipped during sync and export workflows
    (thanks @TheZargs).

v0.0.30

06 Apr 18:28

Choose a tag to compare

0.0.30 - 2026-04-06

Developer Experience

  • Add just check command that runs lint, typecheck, and tests in one step.
  • Add just loc command for Rich-formatted lines-of-code summary with area and
    directory breakdowns (uses cloc with Python fallback).
  • Add GitHub Actions CI to run just lint, just typecheck, and just test
    on pushes and pull requests.
  • Add release helper commands to prepare changelog/version updates, print
    release notes, and draft GitHub releases from the changelog.

Refactoring

  • Split CLI wiring and workflow/repository/error helpers out of
    src/kptncook/__init__.py into dedicated modules, keeping __init__.py as a
    thin entrypoint/export surface.
  • Derive kptncook.__version__ from package metadata so pyproject.toml is the
    single version source of truth.
  • Replace import-time settings validation with a lazy get_settings() boundary
    so runtime modules can be imported safely and config errors are rendered at
    the CLI boundary instead of during import.
  • Normalize the KptnCook and Mealie HTTP clients around explicit request
    methods, persistent httpx.Client instances, and bounded timeout defaults.
  • Surface invalid stored recipe entries as explicit warnings in repository-backed
    workflows instead of silently skipping them.
  • Make repository writes atomic with temp-file replacement, preserved backups,
    and lightweight advisory locking for concurrent writers on POSIX platforms.

Documentation

  • Update the README release process to bump the package version in one place and
    note that CI runs the standard local quality gates.
  • Document that kptncook-access-token now saves the token into ~/.kptncook/.env,
    that .env writes are permission-hardened where supported, and that password-manager
    commands run through the local shell and must be trusted.
  • Document the new just release-prepare, just release-notes, and
    just release-draft workflow in the README release section.

Fixes

  • Stop printing the full KptnCook access token to stdout; save it to
    ~/.kptncook/.env instead, and tighten .env permissions to owner-only
    read/write (0600) where supported.
  • Stop echoing password-manager command stderr back to the terminal on failure,
    because it may contain secrets.
  • #78 Send JSON payloads with the correct content type when syncing recipes to
    Mealie, fixing 422 Unprocessable Entity errors on Mealie v3.12.0+ (thanks
    @TheZargs).
  • #72 Match existing Mealie tags case-insensitively during sync so case-only
    tag differences do not trigger duplicate tag creation attempts (thanks
    @joshinils).
  • #81 Fetch favorites from KptnCook's current /accounts/me/favorites
    endpoint so backup-favorites works again after the API move (thanks
    @ConConner).
  • #80 Expand <timer> placeholders in exported recipe steps so timer values show
    up correctly in Mealie, Tandoor, and Paprika (thanks @joshinils).

v0.0.29

11 Feb 21:33

Choose a tag to compare

Features

  • #68 Add a help command (with --all) and #71 an ls alias for list-recipes (thanks @joshinils).

Fixes

  • #75 Only show ingredient group title ("You need" / "Pantry") on the first ingredient per section in Mealie export instead of on every ingredient (thanks @joshinils).
  • #64 Clarify first-run configuration messaging and note that commands should be re-run after scaffolding the .env file.
  • #74 Skip step image upload failures during Mealie sync while still persisting recipe metadata for de-duplication (thanks @joshinils).
  • #69 Avoid printing recipe JSON when --save is used for discovery lists, ingredient-based searches, and onboarding (thanks @joshinils).
  • #73 Improve error handling when resolving share URLs in search-by-id (thanks @joshinils).
  • #70 Expand the .env template with commented Mealie settings and optional config (thanks @joshinils).
  • #72 Log non-duplicate Mealie creation errors instead of silently ignoring them.

0.0.28 - 2026-01-27

27 Jan 11:46

Choose a tag to compare

Fixes:

  • #66 Package the kptncook-setup entrypoint module so setup works after install.
  • #67 Make favorites backup tolerant of API response shape changes and improve identifier extraction.

v0.0.27

24 Jan 08:59

Choose a tag to compare

0.0.27 — 2026-01-24

Features

  • Export step ingredient references to Mealie for cooking mode linking.
  • Added MEALIE_API_TOKEN support as an alternative to username/password for Mealie sync.
  • Added kptncook-setup helper to scaffold the .env file with the default API key and optionally fetch an access token.

Fixes

  • #61 Fix crash when KPTNCOOK_HOME is set by normalizing and expanding the configured root path (thanks @alexdetsch).
  • #36 Handle recipes without cover images in Mealie sync (thanks @dvogt23).
  • Improve first-run configuration errors by scaffolding ~/.kptncook/.env and guiding missing KPTNCOOK_API_KEY setup.
  • Provide clearer error messaging for access token retrieval failures.

Thanks to @joshinils for reporting #64 and #65.

v0.0.26

26 Dec 09:30

Choose a tag to compare

0.0.26 - 2025-12-25

Features

  • Added discovery-screen command to list discovery lists and quick search entries.
  • Added discovery-list command to fetch discovery list recipes (latest/recommended or curated/automated list IDs).
  • Added dailies command and API support to fetch full daily recipes with optional filters.
  • Added onboarding command to fetch tagged onboarding recipes.
  • Added ingredients-popular and recipes-with-ingredients commands with API support
    for ingredient discovery and ingredient-based recipe searches.
  • Added an API helper to resolve recipe summary identifiers via /recipes/search.
  • #54 Added delete-recipes command to remove recipes from the local repository by
    index or oid to avoid re-syncing unwanted items.
  • #50 Added a Tandoor exporter module and export-recipes-to-tandoor command for
    recipe.zip generation (thanks @michael-arndt-gcx).
  • Added step-ingredient models and recipe type keywords for Tandoor exports.
  • #38 Added optional ingredient grouping by ingredient.typ across exporters with
    configurable labels (thanks @ValleBL).
  • #41 Exported KptnCook active tags to Mealie and Tandoor, deduping the base
    kptncook tag while preserving recipe type keywords (thanks @Kadz93).

Fixes

  • Fixed discovery list fetching to use the correct API paths and show quick-search
    entries and ingredient names in the CLI output.
  • Allow comma-separated onboarding tags in the CLI and de-duplicate inputs.
  • #36 Handle Mealie 422 validation errors without masking the response (thanks @dvogt23).
  • #60 Extend localized field fallbacks to handle singular/plural title payloads and
    fill missing ingredient titles more robustly.
  • #55 Follow redirects when fetching KptnCook images for Mealie sync and avoid JSON parsing
    on non-JSON error responses.
  • #818 Apply locale fallback (de -> en -> any) for exporter localized strings instead of
    hard-coding German.
  • Use locale fallback when listing or deleting recipes in the CLI.
  • Replaced raw debug prints with logging for cleaner CLI output during exports/sync.

Infrastructure

  • Added a justfile with common dev commands and beadsflow helpers.
  • Added beadsflow configuration for local Beads automation.
  • Added AGENTS.md for repo-specific workflow guidance.
  • Added Ruff to dev dependencies to support just lint.
  • Excluded notebooks from Ruff formatting and linting.
  • Updated clean targets to skip .venv/, .beads/, and .git/.
  • Added a GitHub-to-Beads importer script and just helper with dry-run support.
  • Added a basic Dockerfile and .dockerignore for container builds.

Documentation

  • Added quick README examples for automated discovery lists and multi-tag onboarding saves.
  • Clarified required --tag and --ingredient-id flags for onboarding and
    ingredient-based commands in the README usage section.
  • Added quick usage snippets for discovery, dailies, onboarding, and ingredient
    commands in the README.
  • Added curated and recommended discovery list examples to the README quick usage snippets.
  • Documented discovery, dailies, onboarding, and ingredient-based commands with
    examples (including recipeFilter/zone) and required flags in the README.
  • Documented discovery list short flags and onboarding tag slug examples in the
    README usage section.
  • Added a discovery-screen -> discovery-list workflow example and clarified save
    options for dailies, discovery lists, and ingredient-based commands in the
    README usage section.
  • Expanded README discovery and ingredient usage examples for automated lists
    and repeatable ingredient ids.
  • Clarified discovery list output format and recipe summary resolution in the
    README usage section.
  • Clarified required discovery list flags and popular ingredient output format
    in the README usage section.
  • Updated the README intro and ingredient guidance for discovery, dailies,
    onboarding, and ingredient-based commands, and corrected the access-token
    helper name.
  • Clarified README guidance on access-token requirements for ingredient-based
    commands and onboarding recipe resolution.
  • Clarified discovery list type requirements and list-id usage in the README
    usage section.
  • Documented Beads onboarding and .beads/ commit policy.
  • Documented required quality gates and beadsflow usage.
  • Updated pre-commit install instructions to use uv run.
  • Documented the GitHub issue import helper.
  • Documented the export-recipes-to-tandoor command in the README.
  • Added Docker usage instructions to the README.

auth url fix

28 Jun 06:33

Choose a tag to compare

Fixes

  • #57 Fixed the url for fetching the access token

Documentation

  • Clarified .env file setup instructions to prevent users from editing the executable
    • Added explicit directory and file creation steps
    • Added warning about correct file location
    • Added troubleshooting section for common configuration errors

0.0.22 - 2025-02-21

21 Feb 10:47

Choose a tag to compare

0.0.21 - 2024-09-16

16 Sep 09:37

Choose a tag to compare

  • #39 fixed encoding issues on windows by setting utf-8 encoding as default @ephes

0.0.20

13 Sep 14:59

Choose a tag to compare

Fixes

  • #23 make recipe export skip invalid recipes @ephes
  • #32 remove unescaped newlines from json for paprika export @ephes