f5eb0a46c8
Verified parameters from JS-Bundle xb-Encoder/fc-Encoder now wired up: recurrencyDescriptor (recurrency, recurrencyInterval, rrule) and reminder (reminderUnit, reminderValue). Adds clear_recurrency and clear_reminder flags. SPEC.md, CHANGELOG.md, CLAUDE.md updated accordingly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.7 KiB
5.7 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Versioning Policy
This project follows Semantic Versioning (SemVer). Breaking changes (removed tools, changed parameters) increment the major version.
[1.1.0] – 2026-04-17
Added
update_task: recurrency parameters (recurrency,recurrency_interval,rrule,clear_recurrency) — set or remove task recurrence rules viarecurrencyDescriptorupdate_task: reminder parameters (reminder_unit,reminder_value,clear_reminder) — set or remove task reminders viareminder- SPEC.md: documented
recurrencyDescriptorandreminderfields fortaskupdate2(verified via JS-Bundle xb-Encoder / fc-Encoder)
[1.0.1] – 2026-04-17
Added
- IMPORTANT confirmation notes in docstrings for write operations (
toggle_task,like_post) [project.urls]section inpyproject.tomlwith Gitea repository link- Language note in CLAUDE.md explaining German/English split
tests/README.mddocumentation for running integration tests
Changed
.gitignorepatterns now recursive (test_*.py without leading slash)- CLI help text updated (removed "(read-only)" qualifier)
clear_list()now logs exception reasons for failed deletionsget_categories()docstring clarifies custom vs. system category locale behavior
Fixed
- Exception handling in
clear_list()with detailed logging
1.0.0 – 2026-04-17
Added
tests/directory with integration tests (moved from root)LICENSE(MIT, Marcus van Elst)- Date validation (ISO
YYYY-MM-DD) for all meal-plan tools _err()helper — all tools now return{"error": "..."}JSON on failure
Changed
- Version is now a single source of truth in
pyproject.toml;__init__.pyreads it viaimportlib.metadata create_server()exported via__all__in__init__.pyclear_listreports partial failures:{"deleted_count": N, "failed_count": M, "failed_ids": [...]}- All tool functions have explicit
-> strreturn-type annotations - Unified error format: every tool returns
{"error": "message"}JSON
Removed
- ~50 debug/probe artefact files (
probe_*.py,debug_*.py,*.txtoutputs)
[0.11.x] – Meal Planner write access
[0.11.8]
- Documented
isRecipeflag behaviour inget_recipe_box
[0.11.7]
get_recipe_box— returns only real recipes (isRecipe=true)- Parser fix:
ingredients_parsedbuilt from free-text, not the API list
[0.11.6]
clear_list— bulk-delete all tasks in a list within one session
[0.11.5]
add_meal_note— add note + serving count to a meal plan slot
[0.11.4]
delete_meal_plan_entry— deletedish/andmeal/entries
[0.11.3]
add_meal_to_meal_plan— structured output (fixeda00.r.rarray shape)
[0.11.2]
add_meal_to_meal_plan— add free-text meal entry
[0.11.1]
add_recipe_to_meal_plan— structured output after response verified
[0.11.0]
add_recipe_to_meal_plan— add recipe from recipe box to meal plan
[0.10.x] – Meal Planner read access
[0.10.3]
get_meal_plan—is_from_recipe_boxfield viarecipeList[].isRecipe
[0.10.2]
get_meal_plan— mergesmealList[](free-text notes + servings)
[0.10.1]
get_meal_plan— structured output aftermplistintervalresponse verified
[0.10.0]
get_meal_plan— read-only, raw JSON (Premium feature)
[0.9.x] – Task recurrency + reminders
[0.9.1]
- Fix
remindermapping (reminderUnit/reminderValue;value=0is valid)
[0.9.0]
get_tasksreturnsrecurrency,recurrency_interval,rrule,reminder
[0.8.x] – Recipe categories + misc fixes
[0.8.3]
OTHERlist type documented and supported;FW_DEBUG=1logs unknown task fields
[0.8.2]
get_lists()without scope returns all circles
[0.8.1]
- Fix recipe category handling
[0.8.0]
get_recipe_categories— list available recipe categoriescreate_recipe/update_recipeacceptcategory_ids
[0.7.x] – Circle management
[0.7.5]
- Primary-circle guard in
update_circle(isFirstFamilycheck)
[0.7.4]
update_circle— rename a circle
[0.7.3]
update_list— rename, change emoji/colour
[0.7.2]
delete_circle
[0.7.1]
get_listsscope fix;create_listwithcircle_id;delete_listscope
[0.7.0]
create_circle,add_member_to_circle
[0.6.x] – Recipe box
[0.6.1]
update_recipe+ fix newline handling increate_recipe
[0.6.0]
get_recipes,get_recipe,create_recipe,delete_recipe
[0.5.x] – List management
[0.5.3]
- Category auto-assign hint in
create_taskdocstring
[0.5.2]
- Quantity convention documented in
create_taskdocstring
[0.5.1]
emoji+coloringet_lists/create_list
[0.5.0]
create_list,delete_list
[0.4.x] – Category management + task fields
create_category,delete_categorycreate_task/update_tasksupportdue_date,assignee,list_id
[0.3.x] – Task write access
create_task,update_task,toggle_task,delete_task
[0.2.x] – Activity feed
get_activities,like_post
[0.1.0] – Initial release
get_circles,get_members,get_lists,get_tasks,get_categories- Session strategy: login → API calls → logout per tool invocation
- OS keyring credential storage
- MCP server via FastMCP