Releases: ephes/kptncook
Releases · ephes/kptncook
v0.0.31
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
prekand add ajust update-hooks
helper for refreshing hook revisions.
Developer Experience
- Replace the
pre-commitdevelopment dependency withprek, keeping the
existing.pre-commit-config.yamlhook configuration and refreshing hook
revisions, including the resulting hook-driven cleanup.
Fixes
v0.0.30
0.0.30 - 2026-04-06
Developer Experience
- Add
just checkcommand that runs lint, typecheck, and tests in one step. - Add
just loccommand 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, andjust 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__.pyinto dedicated modules, keeping__init__.pyas a
thin entrypoint/export surface. - Derive
kptncook.__version__from package metadata sopyproject.tomlis 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, persistenthttpx.Clientinstances, 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-tokennow saves the token into~/.kptncook/.env,
that.envwrites 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-draftworkflow in the README release section.
Fixes
- Stop printing the full KptnCook access token to stdout; save it to
~/.kptncook/.envinstead, and tighten.envpermissions 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, fixing422 Unprocessable Entityerrors 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 sobackup-favoritesworks 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
Features
- #68 Add a
helpcommand (with--all) and #71 anlsalias forlist-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
.envfile. - #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
--saveis 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
.envtemplate 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
v0.0.27
0.0.27 — 2026-01-24
Features
- Export step ingredient references to Mealie for cooking mode linking.
- Added
MEALIE_API_TOKENsupport as an alternative to username/password for Mealie sync. - Added
kptncook-setuphelper to scaffold the.envfile with the default API key and optionally fetch an access token.
Fixes
- #61 Fix crash when
KPTNCOOK_HOMEis 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/.envand guiding missingKPTNCOOK_API_KEYsetup. - Provide clearer error messaging for access token retrieval failures.
Thanks to @joshinils for reporting #64 and #65.
v0.0.26
0.0.26 - 2025-12-25
Features
- Added
discovery-screencommand to list discovery lists and quick search entries. - Added
discovery-listcommand to fetch discovery list recipes (latest/recommended or curated/automated list IDs). - Added
dailiescommand and API support to fetch full daily recipes with optional filters. - Added
onboardingcommand to fetch tagged onboarding recipes. - Added
ingredients-popularandrecipes-with-ingredientscommands 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-recipescommand 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-tandoorcommand 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.typacross 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
--tagand--ingredient-idflags 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-tandoorcommand in the README. - Added Docker usage instructions to the README.
auth url fix
Fixes
- #57 Fixed the url for fetching the access token
Documentation
- Clarified
.envfile 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
- #48 uid can also have a length of 7 @Nero3ooo
- Some minor fixes for pre-commit hooks / mypy etc @ephes
- #47 fix nutrition format @david-askari