• v.0.7.0-alpha 0985b49997

    v.0.7.0-alpha Pre-release

    abiwab released this 2026-05-11 02:10:36 +02:00 | 487 commits to main since this release

    Release Notes - v0.7.0-alpha

    A Quick Note on Transparency

    First, up until now, I have often used 'we' when talking about Gram, making it sound like there's a whole kitchen brigade behind the project. In reality, I'm the only chef in this particular kitchen. Going forward, I’ll be using 'I' to better reflect the solo nature of this endeavor.

    Secondly, in the last release, I promised a blog post detailing my long-term vision for Gram. I have to admit that I haven't found the time to write it properly. However, this delay has been a blessing in disguise. Over the last three months, taking a step back allowed me to reassess certain features and future directions. I also took the time to migrate around 200 of my personal recipes into the .gram format. This real-world stress test highlighted a few blind spots and necessary tweaks to the syntax.

    The vision post will happen eventually, but right now, my priority is focusing on the code.

    What's New

    Over the last two releases, I introduced systems for mass unification, yield management, and nutritional information calculation, all powered by the creation of an underlying ingredient database.

    After some reflection, I realized that while this feature is highly promising, it requires more time and refinement before it becomes truly robust and relevant. Because of this, I have decided to separate these systems behind feature flags.

    These features are now officially classified as Experimental. They are disabled by default, but can easily be toggled on via CompilerOptions in the API or through the new "Experimental Features" menu in the Playground.

    Enhancements & Fixes

    • Negligible Mass Support: Ingredients declared with explicitly empty braces (e.g., @salt{}) are now assigned a mass of 0g. This allows the Total Mass calculation of a recipe to complete successfully without requiring exact weights for things like arbitrary seasonings or dusting flour.
    • Native Unit Localization (i18n): Unit translation has been centralized in a new i18n.ts file. This includes added support for standard French culinary abbreviations.
    • Nutrition Coverage Safety: The nutrition panel in the Playground will now automatically hide if any ingredient in the recipe is missing macro data or has an undetermined mass. This prevents the display of misleading or partial nutritional calculations.
    • Documentation Update: The official documentation has been updated to reflect recent syntax changes and newly added features.
    Downloads