Tandoor 2 is a complete re-write of Tandoors frontend in Vue 3 using vuetify as a UI library. While the core concepts remain unchanged, everything has been rewritten to be faster, easier to use and better looking.
Generally Tandoor 2
- is a lot faster by using more efficient JavaScript and better component splitting
- more stable by using TypeScript and higher quality frontend modules to prevent annoying and undescriptive errors
- better optimized for mobile and smaller devices by having custom workflows/UI's for certain operations
- looking better thanks to the extensive component library combined with many custom components
- easy to use and expand by having a standard framework for the editors of recipes, foods, meal plans and all other models
- a very strong foundation for future development by creating the framework needed to add new features faster and easier
- fixes lots of smaller and larger bugs from Tandoor 1
Some of the highlights are
- AI Recipe import to import text, images and PDF recipes (see docs)
- A global search to search for and open recipes on every page
- A new start page to discover recipes and quickly manage meal plans
- The ability to manually add entries to the shopping list linked with meal plans for better organization/context
- url bindings to the search and on some other pages, so navigating back and forward feels a lot better
- Individual pages for all model edit pages to make them linkable
- Quick edit function for the property editor to make it easier to identify and fix missing properties or conversions
- Warnings when leaving/closing editors about unsaved changes
General Changes & Contributions
While all the changes are to much to write down here are some more highlights and also a list of contributions that were made in the alpha/beta phase.
- added autocomplete input to shopping lists
- added an integrated help system and small help texts on all object types
- added integrated FDC search and import features in both the Food Editor and the Property Editor
- added ability to create shopping categories from shopping line item dialog
- added Ctrl+S Hotkey to all Editors
- added supermarket quick selection to shopping list
- added the ability to set static root dir via
.env
(thanks to wilmardo #3637) - improved Ingredient and Step sorting in the recipe editor
- improved settings parsing (thanks to fliiiix #3161)
- improved cookbookapp importer (thanks to caffeinated-tech #3815)
- improved Tandoor 2 editor title bar (thanks to SlickMoose #3822)
- improved timer finished time rendering (thanks to mkieledunsche #3778)
- improved cookbookapp importer (thanks to caffeinated-tech #3815)
- fixed home assistant connector not working in some cases (thanks to @mikhail5555 #3724)
- fixed edge case where file metadata was not stripped form images
- fixed never unit automation not working #3819
đ API Changes
- added API endpoint for all missing models that previously did not have an API (storages, connectors, ...)
- added improved ical endpoint on meal plan api (thanks to c0mputerguru #3038)
- changed revisited all API endpoints and added universal pagination, schemas and test/documentation improvements (thanks to @smilerz #3068 #3123 #3126 #3143)
- changed renamed API endpoints
food-property
andfood-property-type
toproperty
andproperty-type
(thanks to @smilerz #3131) - changed API endpoints
/space/
/space/
now returns all spaces a user has access to/space/current/
returns the currently active space infocreated_by
no returned as object not user id
- changed Recipe API endpoint to use default formats instead of prefixed ones to indicate >= or <=
- affected parameters: rating, timescooked, createdon, updatedon, cookedon, viewedon
- changed
last_autosync
parameter of ShoppingListEntry endpoint is nowupdated_after
- changed ingredient from string api to return food and unit as objects and create them if not present
- removed old log_cooking, plan-ical and backup API endpoints (thanks to @smilerz #3123)
- removed some special/duplicate parameters from ShoppingListEntry endpoint
- various other smaller changes and additions to filters and response fields
âšī¸ Compatibility Note
This release of Tandoor 2 does not have any changes to the database. This means it is possible to switch between Tandoor 1 (docker tag tandoor-1
) and Tandoor 2 freely at any point. This will likely stay this way until Version 2 is stable.
There are some minor incompatibilities to note:
- loading a Tandoor 1 saved search filter and saving it in Tandoor 2 to then again load and use it in Tandoor 1 might lead to unexpected results. If the filter is just used in Tandoor 2 but not saved nothing changes.
- Tandoor now has an integrated nginx service you can switch to, more information can be found here: #3851
- API Changes mentioned above
- There are no longer docker images for
arm/v7
at this point. It is simply too much work for me to maintain a working build for this platform at the moment. This might change in the future and you are still free to build your own image.
â¤ī¸ Support Tandoor
The development of Tandoor 2 started in January of 2024. Since then hundreds if not thousands of hours of work have been put into building the foundation for Tandoors future. Besides some small contributions this has exclusively been done by myself in my spare time.
It is always hard for me to divide my time between my job that keeps the lights on, my family, serving as a voluntary firefighter and Tandoor, but the countless heart-warming stories of people using Tandoor have always motivated me to continue this project. If you want to help in supporting this undertaking consider sponsoring this project.