v1.2.0 (TBD)

v1.2.0 (TBD)

Avatar Menu

Moved the link to the documentation from the about dialog to the avatar menu.

Configuration

The server.url configuration variable and RECIPYA_SERVER_URL environment variable are now optional and default to http://0.0.0.0

Cookbooks

Index

Fixed an issue where the wrong cookbook was deleted.

Mobile view now displays two columns instead of one.

Data

Directory

The database has been moved from path/to/recipya/data/backup/database/ to where user data is stored.

  • Windows: %APPDATA%\Recipya
  • Linux: $XDG_CONFIG_HOME/Recipya
  • MacOS: $HOME/Library/Application Support/Recipya

Users do not have to take any action because the migration to the new folder is automatic on application startup.

⚠️
Docker users: Please ensure to adjust your volume path to recipya-data:/root/.config/Recipya.

Logs

A logging mechanism has been introduced using log/slog. The logs are stored under %APPDATA%\Recipya\Logs. Logs rotate once a log file’s size reaches 500MB. Up to three log files are stored at a time.

General

Fix a redirection error when logging in when a session cookie exists.

Most notifications are now sent through websockets instead of htmx, meaning all your open tabs will display the same sent notifications.

Prevented a data race condition caused by concurrent reads and writes to the sessions map.

Recipes

Add Manual

An unset yield now defaults to 1.

Missing required fields now throws an error.

Setting the category is now optional and defaults to ‘uncategorized’ when unset.

Setting the source is now optional and defaults to ‘Unknown’ when unset.

The description field is now optional.

Categories

The user may now control their recipe categories from the settings dialog.

It is now possible to click the category of a recipe from the home page to display all recipes with the same category.

Subcategories

For example, the category beverages:cocktails:vodka means the following:

  • beverage is the main category
  • cocktails is a subcategory of beverages
  • vodka is a subcategory of cocktails and

Edit

Fixed the category list not showing the user’s list of categories.

Fixed a new category not being added to the user’s list of categories.

Export

The zip archive of the exported recipes in the JSON format now contains only JSON files, one per recipe. Before, we had a folder per recipe. Each contained the recipe’s image and its JSON schema. Including the image files in the archive is not necessary anymore as images and thumbnails are now in the recipe schema.

General

Bananacat is now Recipya’s mascot.

Calculate nutrition when the ingredients of a recipe are updated.

Fixed some ingredient scaling issues.

Fixed re-compressing images after every edit.

Fixed a crash when exporting the recipes as PDF.

Images are now stored in the WebP format rather than JPG for better compression and image quality.

Only the first category is retained when inserting a recipe into the database.

Removed the Crtl + / shortcut to focus the searchbar.

Subcategories are allowed and are described above.

Support adding multiple pictures to recipes.

Import

The software used to import only part of the recipes from the exported JSON file. For example, if your exported ZIP file contained 350 recipes, only 40 might be successfully imported. This issue has been fixed, ensuring that no recipe in the exported archive is skipped.

It is now possible to import recipes from the following applications.

  • AccuChef
  • ChefTap
  • Crouton
  • Easy Recipe Deluxe
  • Kalorio
  • Mealie
  • Paprika
  • Recipe Keeper
  • RecipeSage
  • Saffron
  • Tandoor

AccuChef

Follow these steps to import your recipes from AccuChef:

  1. Export your recipes in AccuChef.
  2. Within Recipya, click the Add recipe button.
  3. Click the Import button.
  4. Select the exported .txt file.
  5. Click Submit.

ChefTap

Follow these steps to import your recipes from ChefTap:

  1. From the ChefTap mobile application, export your recipes in the text format.
  2. Within Recipya, click the Add recipe button.
  3. Click the Import button.
  4. Select the exported .zip file.
  5. Click Submit.

Crouton

Follow these steps to import your recipes from Crouton:

  1. Export your recipes in Crouton.
  2. Within Recipya, click the Add recipe button.
  3. Click the Import button.
  4. Select the exported .zip file.
  5. Click Submit.

Easy Recipe Deluxe

Follow these steps to import your recipes from Easy Recipe Deluxe:

  1. Export your recipes in Easy Recipe Deluxe: Publish -> Text.
  2. Within Recipya, click the Add recipe button.
  3. Click the Import button.
  4. Select the exported .txt file.
  5. Click Submit.

Kalorio

Follow these steps to import recipes from Kalorio.

  1. Export your Kalorio recipes in the CookML format.
  2. Within Recipya, click the Add recipe button.
  3. Click the Import button.
  4. Select the exported file.
  5. Click Submit.

Mealie

Follow these steps to import your recipes from a Mealie instance:

  1. Go to the Integrations setting and select the Mealie option.
  2. Click the button adjacent to the menu of options.
  3. In the dialog that appears, enter the URL and credentials of a Mealie instance.
  4. Click the Import button.

Paprika

Follow these steps to import recipes from Paprika.

  1. Export your Paprika recipes in the Paprika Recipe Format.
  2. Within Recipya, click the Add recipe button.
  3. Click the Import button.
  4. Select your .paprikarecipes file. You may also zip many .paprikarecipes together and select the resulting file.
  5. Click Submit.

Recipe Keeper

Follow these steps to import recipes from Recipe Keeper.

  1. Access the settings within Recipe Keeper.
  2. Go to the Import/Export tab.
  3. Click the Recipe Keeper .zip file button at the top.
  4. Save the file.
  5. Within Recipya, click the Add recipe button.
  6. Click the Import button.
  7. Select the zip file you saved.
  8. Click Submit.

RecipeSage

Follow these steps to import recipes from RecipeSage.

  1. Export your RecipeSage recipes in the JSON-LD format.
  2. Within Recipya, click the Add recipe button.
  3. Click the Import button.
  4. Select the exported file.
  5. Click Submit.

Saffron

Follow these steps to import recipes from Saffron.

  1. Export your Saffron recipes.
  2. Within Recipya, click the Add recipe button.
  3. Click the Import button.
  4. Select the exported .zip file.
  5. Click Submit.

Tandoor

Follow these steps to import your recipes from a Tandoor instance:

  1. Go to the Integrations setting and select the Tandoor option.
  2. Click the adjacent button.
  3. In the dialog that appears, enter the URL and credentials of a Tandoor instance.
  4. Click the Import button.

Index

Mobile view now displays two columns instead of one.

Added view transitions for when the user enters a recipe, selects a page from the pagination and when switch between tabs in the sidebar. This feature is not available in Firefox.

OCR

Engine

Deprecated the use of Azure AI Vision to digitize recipes in favor of Azure AI Document Intelligence because it is more accurate and accepts multiple file formats.

Important: The integrations.azureComputerVision block in the configuration file and the RECIPYA_VISION_ENDPOINT/RECIPYA_VISION_KEY environment variables are deprecated and will be removed in v1.3.0.

To migrate:

  1. Add the Document intelligences resource to your Azure account
  2. Access the resource.
  3. From the sidebar, select Keys and Endpoint under Resource Management. alt text
  4. Copy KEY 1 to your configuration file’s integrations.azureDocumentIntelligence.key field or RECIPYA_DI_KEY environment variable if you use Docker.
  5. Copy Endpoint to your configuration file’s integrations.azureDocumentIntelligence.endpoint field or RECIPYA_DI_ENDPOINT environment variable if you use Docker.
  6. Restart Recipya and test the Azure AI Document Intelligence connection from the settings.

Limitations

  • For PDF and TIFF, up to 2000 pages can be processed (with a free tier subscription, only the first two pages are processed).
  • The file size for analyzing documents is 500 MB for paid (S0) tier and 4 MB for free (F0) tier.
  • If your PDFs are password-locked, you must remove the lock before submission.

Share

Fix the “Add recipe to collection” button not working.

Search

The page now does not reload when the search query is empty.

The search mode has been removed in favour of an advanced search.

Advanced Search

The advanced search lets you tweak your search query for the desired results.

Please consult the docs to learn how to use it.

Schema

Added thumbnailUrl to the recipe schema.

Videos

It is now possible to attach videos to recipes. Every video will be converted to the WebM audiovisual media file format using FFmpeg.

FFmpeg is included in the Docker build.

Otherwise:

  • If you use Windows, the setup will attempt to install it using winget.
  • If you use Linux, you should install it yourself by executing the appropriate command for your distro.
  • If you use macOS, you should install it yourself by executing brew install ffmpeg.

Video conversion might be slow. Therefore, the video might not be immediately available for viewing after you attach it to a recipe.

Recipes from websites sometimes include videos, e.g. this one. They will be extracted automatically and will be displayed in the image carousel. They are not downloaded locally nor are they converted to WebM using FFmpeg. They are kept in their original format.

View

Fix missing closing parenthesis to the first column header of the nutrition table.

Scraper

General

Dropped support for the following platforms because the software wouldn’t compile:

  • Linux on 32-bit x86 architecture (linux/386).
  • Linux on ARMv6 architecture (linux/arm)
  • Linux on 64-bit RISC-V architecture (linux/riscv64)
  • Linux on IBM System z architecture (linux/s390x)

Improved parsing of maangchi.com.

Websites previously approved, but failed when added through the UI, have been fixed.

Websites

Added support for the following websites:

  • americastestkitchen.com
  • nigella.com
  • smittenkitchen.com

Settings

Added the ability to change most of the fields in the configuration file from the UI under the settings page.

UI/UX

Added a keywords section to the recipes.

Added a tools section to the recipes.

Added the possibility to add videos to the recipes.

Hide the recipe description on mobile if empty.

The settings have been revamped for a cleaner, more polished look inspired from ChatGPT’s and Open WebUI’s settings dialog.