• v.0.6.0-alpha 282a442bdc

    v.0.6.0-alpha Pre-release

    abiwab released this 2026-01-18 15:05:46 +01:00 | 492 commits to main since this release

    Release Notes - v0.6.0

    What's New

    Database Overhaul

    The ingredient database has been migrated to a robust YAML-based structure sorted by category (data/*.yaml). About 900 ingredients were added.

    • Manual integration of verified data sources directly from ANSES CIQUAL (France) and USDA FoodData Central (USA), supplemented by AI for missing density, yield and tags only.
    • Multilingual support (English/French for now) for ingredient lookup.
    • Support for user-defined ingredients via data/user-defined.yaml.

    The database is not exhaustive; it's a long-term project. We aim to gradually expand it to include more international ingredients, as well as most of the classic ingredients used in recipes. Any help in completing it is welcome.

    Ingredient State Support

    Introduced syntax @ingredient:state{qty} to support calculating nutrition for raw/default vs cooked/dried/etc. ingredients (e.g., @tomato:canned{100g}).

    • Includes validation warnings if the requested state is unknown or missing data.

    Compiler Improvements

    • Validation: New warnings system for "Missing Ingredient" (not in DB) and "Missing Macros" (in DB but incomplete).
    • Partial Data Handling: The Nutrition Panel in the Playground is now hidden if data is incomplete, ensuring users are not misled by partial sums.
    • Playground UX
      • Replaced the syntax highlighter with a more robust solution (code-input) for better performance and editing experience.
      • Improved visual presentation of compiler warnings.

    Enhancements & Fixes

    • Logic:
      • Fixed mass calculations for intermediate preparations declared in sections.
      • Refactored shopping list aggregation for composite ingredients to be more accurate.
    • Documentation:
      • Comprehensive updates to documentation reflecting the new database structure, mass unification logic, and advanced features.
    • Fixed version numbering to sync with releases

    What's next

    We are nearing a first functional release, and no major syntax or structural logic changes are planned for the immediate future. My focus is now shifting toward the compiler to ensure as many edge cases and bugs as possible are fixed before the next release.

    Another key priority is the ingredient database; it will take some time to complete.

    I am currently preparing a post to better outline the future vision for gram, which will hopefully be available soon.

    Downloads