Releases: linuxserver/docker-grocy
v3.1.1-ls121
LinuxServer Changes:
Rebase to Alpine 3.14 and PHP 8.
grocy Changes:
- Fixed that the upgrade failed when having "> 2 times duplicate" (means the same barcode was added more than 2 times) product barcodes
- Fixed that the upgrade failed when having unsupported parent/child product nesting levels
- More information on this: Only 1 level is currently supported; creating > 1 level nestings was never possible via the UI/frontend, but not checked/enforced by the backend before
v3.0.0
- so it was potentially possible via the API (or any third party app/tool which utilizes it) to create such a nesting which then made this upgrade to fail
- More information on this: Only 1 level is currently supported; creating > 1 level nestings was never possible via the UI/frontend, but not checked/enforced by the backend before
- Fixed that it was not possible to select a chore/battery on the corresponding tracking pages by mouse/touch
- Fixed that grouping by columns in tables may caused duplicate groups
- Fixed that grocycode camera barcode scanning didn't recognize the scanned code for chore/battery tracking
- Fixed that when having any "Track date only" chore on the calendar, the iCal export was broken
- Optimized the meal plan page to be properly printable (thanks @MrKrisKrisu)
API
❗ The release before (v3.1.0) introduced that "numbers are now returned as numbers": This was reverted since it had unintended side effects (so all fields are technically strings now again, just like before - sorry for that)
- Fixed that
missing_products
of the/stock/volatile
endpoint also contained inactive products - Fixed that when having multiple Userfields for an entity, the
/objects/{entity}
endpoint returned wrong Userfield values - Fixed that the
/stock/products/by-barcode/{barcode}/consume
and/stock/products/by-barcode/{barcode}/transfer
endpoints haven't used the stock entry given by a stock entry grocycode (thanks @lowlee for the initial work on this) - Fixed that the "Stock by-barcode" API routes were broken for normal barcodes (only grocycodes were accepted) (thanks @larsverp)
- Fixed that the "Stock by-barcode" API routes also accepted chore or battery grocycodes (thanks @lowlee)
v3.1.1-ls120
LinuxServer Changes:
Rebase to Alpine 3.14 and PHP 8.
grocy Changes:
- Fixed that the upgrade failed when having "> 2 times duplicate" (means the same barcode was added more than 2 times) product barcodes
- Fixed that the upgrade failed when having unsupported parent/child product nesting levels
- More information on this: Only 1 level is currently supported; creating > 1 level nestings was never possible via the UI/frontend, but not checked/enforced by the backend before
v3.0.0
- so it was potentially possible via the API (or any third party app/tool which utilizes it) to create such a nesting which then made this upgrade to fail
- More information on this: Only 1 level is currently supported; creating > 1 level nestings was never possible via the UI/frontend, but not checked/enforced by the backend before
- Fixed that it was not possible to select a chore/battery on the corresponding tracking pages by mouse/touch
- Fixed that grouping by columns in tables may caused duplicate groups
- Fixed that grocycode camera barcode scanning didn't recognize the scanned code for chore/battery tracking
- Fixed that when having any "Track date only" chore on the calendar, the iCal export was broken
- Optimized the meal plan page to be properly printable (thanks @MrKrisKrisu)
API
❗ The release before (v3.1.0) introduced that "numbers are now returned as numbers": This was reverted since it had unintended side effects (so all fields are technically strings now again, just like before - sorry for that)
- Fixed that
missing_products
of the/stock/volatile
endpoint also contained inactive products - Fixed that when having multiple Userfields for an entity, the
/objects/{entity}
endpoint returned wrong Userfield values - Fixed that the
/stock/products/by-barcode/{barcode}/consume
and/stock/products/by-barcode/{barcode}/transfer
endpoints haven't used the stock entry given by a stock entry grocycode (thanks @lowlee for the initial work on this) - Fixed that the "Stock by-barcode" API routes were broken for normal barcodes (only grocycodes were accepted) (thanks @larsverp)
- Fixed that the "Stock by-barcode" API routes also accepted chore or battery grocycodes (thanks @lowlee)
v3.1.1-ls119
LinuxServer Changes:
Rebase to Alpine 3.14 and PHP 8.
grocy Changes:
- Fixed that the upgrade failed when having "> 2 times duplicate" (means the same barcode was added more than 2 times) product barcodes
- Fixed that the upgrade failed when having unsupported parent/child product nesting levels
- More information on this: Only 1 level is currently supported; creating > 1 level nestings was never possible via the UI/frontend, but not checked/enforced by the backend before
v3.0.0
- so it was potentially possible via the API (or any third party app/tool which utilizes it) to create such a nesting which then made this upgrade to fail
- More information on this: Only 1 level is currently supported; creating > 1 level nestings was never possible via the UI/frontend, but not checked/enforced by the backend before
- Fixed that it was not possible to select a chore/battery on the corresponding tracking pages by mouse/touch
- Fixed that grouping by columns in tables may caused duplicate groups
- Fixed that grocycode camera barcode scanning didn't recognize the scanned code for chore/battery tracking
- Fixed that when having any "Track date only" chore on the calendar, the iCal export was broken
- Optimized the meal plan page to be properly printable (thanks @MrKrisKrisu)
API
❗ The release before (v3.1.0) introduced that "numbers are now returned as numbers": This was reverted since it had unintended side effects (so all fields are technically strings now again, just like before - sorry for that)
- Fixed that
missing_products
of the/stock/volatile
endpoint also contained inactive products - Fixed that when having multiple Userfields for an entity, the
/objects/{entity}
endpoint returned wrong Userfield values - Fixed that the
/stock/products/by-barcode/{barcode}/consume
and/stock/products/by-barcode/{barcode}/transfer
endpoints haven't used the stock entry given by a stock entry grocycode (thanks @lowlee for the initial work on this) - Fixed that the "Stock by-barcode" API routes were broken for normal barcodes (only grocycodes were accepted) (thanks @larsverp)
- Fixed that the "Stock by-barcode" API routes also accepted chore or battery grocycodes (thanks @lowlee)
v3.1.1-ls118
LinuxServer Changes:
Rebase to Alpine 3.14 and PHP 8.
grocy Changes:
- Fixed that the upgrade failed when having "> 2 times duplicate" (means the same barcode was added more than 2 times) product barcodes
- Fixed that the upgrade failed when having unsupported parent/child product nesting levels
- More information on this: Only 1 level is currently supported; creating > 1 level nestings was never possible via the UI/frontend, but not checked/enforced by the backend before
v3.0.0
- so it was potentially possible via the API (or any third party app/tool which utilizes it) to create such a nesting which then made this upgrade to fail
- More information on this: Only 1 level is currently supported; creating > 1 level nestings was never possible via the UI/frontend, but not checked/enforced by the backend before
- Fixed that it was not possible to select a chore/battery on the corresponding tracking pages by mouse/touch
- Fixed that grouping by columns in tables may caused duplicate groups
- Fixed that grocycode camera barcode scanning didn't recognize the scanned code for chore/battery tracking
- Fixed that when having any "Track date only" chore on the calendar, the iCal export was broken
- Optimized the meal plan page to be properly printable (thanks @MrKrisKrisu)
API
❗ The release before (v3.1.0) introduced that "numbers are now returned as numbers": This was reverted since it had unintended side effects (so all fields are technically strings now again, just like before - sorry for that)
- Fixed that
missing_products
of the/stock/volatile
endpoint also contained inactive products - Fixed that when having multiple Userfields for an entity, the
/objects/{entity}
endpoint returned wrong Userfield values - Fixed that the
/stock/products/by-barcode/{barcode}/consume
and/stock/products/by-barcode/{barcode}/transfer
endpoints haven't used the stock entry given by a stock entry grocycode (thanks @lowlee for the initial work on this) - Fixed that the "Stock by-barcode" API routes were broken for normal barcodes (only grocycodes were accepted) (thanks @larsverp)
- Fixed that the "Stock by-barcode" API routes also accepted chore or battery grocycodes (thanks @lowlee)
v3.1.1-ls117
LinuxServer Changes:
Rebase to Alpine 3.14 and PHP 8.
grocy Changes:
- Fixed that the upgrade failed when having "> 2 times duplicate" (means the same barcode was added more than 2 times) product barcodes
- Fixed that the upgrade failed when having unsupported parent/child product nesting levels
- More information on this: Only 1 level is currently supported; creating > 1 level nestings was never possible via the UI/frontend, but not checked/enforced by the backend before
v3.0.0
- so it was potentially possible via the API (or any third party app/tool which utilizes it) to create such a nesting which then made this upgrade to fail
- More information on this: Only 1 level is currently supported; creating > 1 level nestings was never possible via the UI/frontend, but not checked/enforced by the backend before
- Fixed that it was not possible to select a chore/battery on the corresponding tracking pages by mouse/touch
- Fixed that grouping by columns in tables may caused duplicate groups
- Fixed that grocycode camera barcode scanning didn't recognize the scanned code for chore/battery tracking
- Fixed that when having any "Track date only" chore on the calendar, the iCal export was broken
- Optimized the meal plan page to be properly printable (thanks @MrKrisKrisu)
API
❗ The release before (v3.1.0) introduced that "numbers are now returned as numbers": This was reverted since it had unintended side effects (so all fields are technically strings now again, just like before - sorry for that)
- Fixed that
missing_products
of the/stock/volatile
endpoint also contained inactive products - Fixed that when having multiple Userfields for an entity, the
/objects/{entity}
endpoint returned wrong Userfield values - Fixed that the
/stock/products/by-barcode/{barcode}/consume
and/stock/products/by-barcode/{barcode}/transfer
endpoints haven't used the stock entry given by a stock entry grocycode (thanks @lowlee for the initial work on this) - Fixed that the "Stock by-barcode" API routes were broken for normal barcodes (only grocycodes were accepted) (thanks @larsverp)
- Fixed that the "Stock by-barcode" API routes also accepted chore or battery grocycodes (thanks @lowlee)
v3.1.0-ls116
LinuxServer Changes:
Add 'int','json' and 'zlib' PHP extensions.
grocy Changes:
⚠️ The following PHP extensions are now additionally required:json
,intl
,zlib
⚠️ PHP 8 is now supported and from now on the only tested runtime version (although currently PHP 7.2 should still work).
New feature: grocycode / label printer support
(Own) Product/stock entry/chores/batteries labels/barcodes
- Print own labels/barcodes for products/stock entries/chores/batteries and then scan that code on every place a product/stock entry/chore/battery can be selected
- Can be printed (or downloaded) via
- The product/chore/battery edit page
- The context/more menu per line on the overview pages and for stock entries on the stock entries page
- Automatically on purchase (new option on the purchase page, defaults can be configured per product) for stock entries
- The used barcode type can be configured via the
config.php
optionGROCYCODE_TYPE
:1D
(default) will produce aCode128
1D barcode (supported by the integrated camera barcode scanner)2D
will produce aDataMatrix
2D barcode (currently not supported by the integrated camera barcode scanner, but can be probably printed smaller)
- Label printer functionality can be enabled via the new feature flag
FEATURE_FLAG_LABEL_PRINTER
(defaults to disabled) - Label printer communication happens via WebHooks - see the new
LABEL_PRINTER*
config.php
options - grocycodes can also be used without a label printer - you can view or download thm as pictures and print them manually
- More information:
- (Thanks a lot @mistressofjellyfish for the initial work on this)
New feature: Meal plan sections
- Split the meal plan into sections like Breakfast/Lunch/Dinner
- => New button "Configure sections" on the meal plan page to configure the sections (top right corner)
- => Each meal plan entry can be assigned to a section
New feature: Shopping list thermal printer support
- The shopping list can now be printed on a thermal printer
- The printer must be compatible to the
ESC/POS
protocol and needs to be locally attached or network reachable to/by the machine hosting grocy (so the server) - See the new
TPRINTER*
config.php
options to configure the printer connection and other options - => New button on the shopping list print dialog
- The printer must be compatible to the
- Can be enabled via the new feature flag
FEATURE_FLAG_THERMAL_PRINTER
(defaults to disabled) - (Thanks a lot @Forceu)
Stock improvements/fixes
- Product barcodes are now enforced to be unique across products
- On the stock overview page it's now also possible to search/filter by product barcodes (via the general search field)
- The product picker on the consume and transfer page now only shows products which are currently in stock
- Added a filter option to only show in-stock products on the stock overview and products list (master data) page
- Added new columns on the stock overview page (hidden by default): Product description, product default location, parent product, product picture
- Added a new product option "Should not be frozen" (defaults to disabled and only visible when
FEATURE_FLAG_STOCK_PRODUCT_FREEZING
is enabled)- When enabled, on moving the product to a freezer location (so when freezing it), a corresponding warning will be shown
- Optimized that when opening a product which has "Default due days after opened" set, the resulting date now never extends the original due date
- Added a new stock setting (top right corner settings menu) "Add decimal separator automatically for price inputs" (defaults to disabled)
- When enabled, you always have to enter the value including decimal places, the decimal separator will be automatically added based on the amount of allowed decimal places
- Fixed that editing stock entries was not possible
- Fixed that consuming with Scan Mode was not possible
- Fixed that the current stock total value (header of the stock overview page) didn't include decimal amounts (thanks @Ape)
- Fixed that the transfer page was not fully populated when opening it from the stock entries page
- Fixed that undoing a consume/open action from the success notification on the stock entries page was not possible
- Fixed that adding a barcode to a product didn't save the selected quantity unit when the product only has a single one
- Fixed that the store information on a stock entry was lost when transferring a partial amount to a different location
- Fixed that the "Spoil rate" on the product card was wrong in some cases
- Fixed that the stock journal showed always the products default location (instead of the location of the transaction)
- Fixed that the aggregated amount of parent products was wrong when indirect quantity unit conversions were used
Shopping list improvements/fixes
- The amount now defaults to
1
for adding items quicker - Added a status filter for only done items
- The total value is now also shown (based on "Last price (Total)" per item, displayed on the page header and only when
FEATURE_FLAG_STOCK_PRICE_TRACKING
is enabled) - Fixed that shopping list prints had a grey background (thanks @Forceu)
- Fixed the form validation on the shopping list item page (thanks @Forceu)
- Fixed that when adding products to the shopping list from the stock overview page, the used quantity unit was always the products default purchase QU (and not the selected one)
- Fixed that the displayed last unit/total price was wrong when the used quantity unit was not the products stock QU
- Fixed that the "Add as barcode to existing product" productpicker workflow did not work
Recipe improvements/fixes
- Recipe printing improvements (thanks @Ape)
- Calories are now always displayed per single serving (on the recipe and meal plan page)
- The note of an ingredient will now also be added to the corresponding shopping list item when using "Put missing products on the shopping list"
- It's now possible to copy a recipe (button/dropdown menu item per recipe)
- Fixed that the recipe page was slow when there were a lot meal plan recipe entries
- Fixed that "Only check if any amount is in stock" (recipe ingredient option) didn't work for stock amounts < 1
- Fixed that when adding missing items to the shopping list, on the popup deselected items got also added
- Fixed that the amount of self produced products with tare weight handling enabled was wrong ("Produces product" recipe option)
- Fixed that the ingredient amount calculation for included/nested recipes was (for most cases) wrong
- Fixed that the ingredient amount was wrong when using a to the product indirectly related quantity unit
- Fixed that the calories amount calculation was wrong when quantity unit conversions were involved
Meal plan improvements/fixes
- Improved the meal plan page loading time (drastically when having a big history of meal plan entries)
- Meal plan entries can now be visually marked as "done" (new button per entry)
- This happens automatically on consuming a recipe/product from the meal plan page
- It's now possible to copy all entries of a day to another day (in the dropdown of the add button in the header of each day column)
- The "Display recipe" button was removed, instead clicking the recipe title now displays the recipe (and this now also works for products; shows the product card)
- Fixed that stock fulfillment checking used the desired servings of the recipe (those selected on the recipes page, not them from the meal plan entry)
Chores improvements/fixes
- It's now possible to track any addtional info on a chore execution by using Userfields
- => Configure the desired Userfields for the entity
chores_log
- => The on chore execution tracking entered information is then visible on the corresponding chore journal entry
- => Configure the desired Userfields for the entity
- Fixed that tracking chores with "Done by" a different user was not possible
Userfield improvements/fixes
- Userfields can now be configured as mandatory (new Userfield option, defaults to disabled)
- Fixed that numeric Userfields were initialised with
1.0
- Fixed that shortcuts (up/down key) and the format did not work correctly when using multiple date/time Userfields per object
- Fixed that Userfields were not saved when adding a product or a recipe (only on editing)
General & other improvements/fixes
- LDAP authentication improvements / OpenLDAP support (thanks @tank0226)
- A read only service account can now be used for binding
- The username attribute is now configurable
- Filtering of accounts is now possible
- => See the new
LDAP*
config.php
options
- Improved the page loading time of all journal pages (stock/chores/batteries) by adding a new date range filter
- Some night mode style improvements (thanks @BlizzWave and @KTibow)
- Help tooltips are now additionally also triggered by clicking on them (instead of only hovering them, which doesn't work on mobile / touch devices)
- The camera barcode scanner now also supports Code 39 barcodes (used for example in Germany on pharma products (PZN)) (thanks @andreheuer)
- Fixed that the number picker up/down buttons did not work when the input field was empty or contained an invalid number
- Fixed that links and embeds (e.g. YouTube videos) did not work in the text editor
- Fixed that the "Manage users" and "Manage API keys" menu was not shown when using reverse proxy authentication
API improvements/fixes
❗ Numbers are now returned as numbers (so technically without quotes around them, were strings for nearly all endpoints before - should practically be no real difference)
- Added a new endpoint
/system/localization-strings
to get the localization strings (gettext JSON representation; in the by the user de...
v3.1.0-ls115
LinuxServer Changes:
Add 'int','json' and 'zlib' PHP extensions.
grocy Changes:
⚠️ The following PHP extensions are now additionally required:json
,intl
,zlib
⚠️ PHP 8 is now supported and from now on the only tested runtime version (although currently PHP 7.2 should still work).
New feature: grocycode / label printer support
(Own) Product/stock entry/chores/batteries labels/barcodes
- Print own labels/barcodes for products/stock entries/chores/batteries and then scan that code on every place a product/stock entry/chore/battery can be selected
- Can be printed (or downloaded) via
- The product/chore/battery edit page
- The context/more menu per line on the overview pages and for stock entries on the stock entries page
- Automatically on purchase (new option on the purchase page, defaults can be configured per product) for stock entries
- The used barcode type can be configured via the
config.php
optionGROCYCODE_TYPE
:1D
(default) will produce aCode128
1D barcode (supported by the integrated camera barcode scanner)2D
will produce aDataMatrix
2D barcode (currently not supported by the integrated camera barcode scanner, but can be probably printed smaller)
- Label printer functionality can be enabled via the new feature flag
FEATURE_FLAG_LABEL_PRINTER
(defaults to disabled) - Label printer communication happens via WebHooks - see the new
LABEL_PRINTER*
config.php
options - grocycodes can also be used without a label printer - you can view or download thm as pictures and print them manually
- More information:
- (Thanks a lot @mistressofjellyfish for the initial work on this)
New feature: Meal plan sections
- Split the meal plan into sections like Breakfast/Lunch/Dinner
- => New button "Configure sections" on the meal plan page to configure the sections (top right corner)
- => Each meal plan entry can be assigned to a section
New feature: Shopping list thermal printer support
- The shopping list can now be printed on a thermal printer
- The printer must be compatible to the
ESC/POS
protocol and needs to be locally attached or network reachable to/by the machine hosting grocy (so the server) - See the new
TPRINTER*
config.php
options to configure the printer connection and other options - => New button on the shopping list print dialog
- The printer must be compatible to the
- Can be enabled via the new feature flag
FEATURE_FLAG_THERMAL_PRINTER
(defaults to disabled) - (Thanks a lot @Forceu)
Stock improvements/fixes
- Product barcodes are now enforced to be unique across products
- On the stock overview page it's now also possible to search/filter by product barcodes (via the general search field)
- The product picker on the consume and transfer page now only shows products which are currently in stock
- Added a filter option to only show in-stock products on the stock overview and products list (master data) page
- Added new columns on the stock overview page (hidden by default): Product description, product default location, parent product, product picture
- Added a new product option "Should not be frozen" (defaults to disabled and only visible when
FEATURE_FLAG_STOCK_PRODUCT_FREEZING
is enabled)- When enabled, on moving the product to a freezer location (so when freezing it), a corresponding warning will be shown
- Optimized that when opening a product which has "Default due days after opened" set, the resulting date now never extends the original due date
- Added a new stock setting (top right corner settings menu) "Add decimal separator automatically for price inputs" (defaults to disabled)
- When enabled, you always have to enter the value including decimal places, the decimal separator will be automatically added based on the amount of allowed decimal places
- Fixed that editing stock entries was not possible
- Fixed that consuming with Scan Mode was not possible
- Fixed that the current stock total value (header of the stock overview page) didn't include decimal amounts (thanks @Ape)
- Fixed that the transfer page was not fully populated when opening it from the stock entries page
- Fixed that undoing a consume/open action from the success notification on the stock entries page was not possible
- Fixed that adding a barcode to a product didn't save the selected quantity unit when the product only has a single one
- Fixed that the store information on a stock entry was lost when transferring a partial amount to a different location
- Fixed that the "Spoil rate" on the product card was wrong in some cases
- Fixed that the stock journal showed always the products default location (instead of the location of the transaction)
- Fixed that the aggregated amount of parent products was wrong when indirect quantity unit conversions were used
Shopping list improvements/fixes
- The amount now defaults to
1
for adding items quicker - Added a status filter for only done items
- The total value is now also shown (based on "Last price (Total)" per item, displayed on the page header and only when
FEATURE_FLAG_STOCK_PRICE_TRACKING
is enabled) - Fixed that shopping list prints had a grey background (thanks @Forceu)
- Fixed the form validation on the shopping list item page (thanks @Forceu)
- Fixed that when adding products to the shopping list from the stock overview page, the used quantity unit was always the products default purchase QU (and not the selected one)
- Fixed that the displayed last unit/total price was wrong when the used quantity unit was not the products stock QU
- Fixed that the "Add as barcode to existing product" productpicker workflow did not work
Recipe improvements/fixes
- Recipe printing improvements (thanks @Ape)
- Calories are now always displayed per single serving (on the recipe and meal plan page)
- The note of an ingredient will now also be added to the corresponding shopping list item when using "Put missing products on the shopping list"
- It's now possible to copy a recipe (button/dropdown menu item per recipe)
- Fixed that the recipe page was slow when there were a lot meal plan recipe entries
- Fixed that "Only check if any amount is in stock" (recipe ingredient option) didn't work for stock amounts < 1
- Fixed that when adding missing items to the shopping list, on the popup deselected items got also added
- Fixed that the amount of self produced products with tare weight handling enabled was wrong ("Produces product" recipe option)
- Fixed that the ingredient amount calculation for included/nested recipes was (for most cases) wrong
- Fixed that the ingredient amount was wrong when using a to the product indirectly related quantity unit
- Fixed that the calories amount calculation was wrong when quantity unit conversions were involved
Meal plan improvements/fixes
- Improved the meal plan page loading time (drastically when having a big history of meal plan entries)
- Meal plan entries can now be visually marked as "done" (new button per entry)
- This happens automatically on consuming a recipe/product from the meal plan page
- It's now possible to copy all entries of a day to another day (in the dropdown of the add button in the header of each day column)
- The "Display recipe" button was removed, instead clicking the recipe title now displays the recipe (and this now also works for products; shows the product card)
- Fixed that stock fulfillment checking used the desired servings of the recipe (those selected on the recipes page, not them from the meal plan entry)
Chores improvements/fixes
- It's now possible to track any addtional info on a chore execution by using Userfields
- => Configure the desired Userfields for the entity
chores_log
- => The on chore execution tracking entered information is then visible on the corresponding chore journal entry
- => Configure the desired Userfields for the entity
- Fixed that tracking chores with "Done by" a different user was not possible
Userfield improvements/fixes
- Userfields can now be configured as mandatory (new Userfield option, defaults to disabled)
- Fixed that numeric Userfields were initialised with
1.0
- Fixed that shortcuts (up/down key) and the format did not work correctly when using multiple date/time Userfields per object
- Fixed that Userfields were not saved when adding a product or a recipe (only on editing)
General & other improvements/fixes
- LDAP authentication improvements / OpenLDAP support (thanks @tank0226)
- A read only service account can now be used for binding
- The username attribute is now configurable
- Filtering of accounts is now possible
- => See the new
LDAP*
config.php
options
- Improved the page loading time of all journal pages (stock/chores/batteries) by adding a new date range filter
- Some night mode style improvements (thanks @BlizzWave and @KTibow)
- Help tooltips are now additionally also triggered by clicking on them (instead of only hovering them, which doesn't work on mobile / touch devices)
- The camera barcode scanner now also supports Code 39 barcodes (used for example in Germany on pharma products (PZN)) (thanks @andreheuer)
- Fixed that the number picker up/down buttons did not work when the input field was empty or contained an invalid number
- Fixed that links and embeds (e.g. YouTube videos) did not work in the text editor
- Fixed that the "Manage users" and "Manage API keys" menu was not shown when using reverse proxy authentication
API improvements/fixes
❗ Numbers are now returned as numbers (so technically without quotes around them, were strings for nearly all endpoints before - should practically be no real difference)
- Added a new endpoint
/system/localization-strings
to get the localization strings (gettext JSON representation; in the by the user de...
v3.1.0-ls114
LinuxServer Changes:
Add 'int','json' and 'zlib' PHP extensions.
grocy Changes:
⚠️ The following PHP extensions are now additionally required:json
,intl
,zlib
⚠️ PHP 8 is now supported and from now on the only tested runtime version (although currently PHP 7.2 should still work).
New feature: grocycode / label printer support
(Own) Product/stock entry/chores/batteries labels/barcodes
- Print own labels/barcodes for products/stock entries/chores/batteries and then scan that code on every place a product/stock entry/chore/battery can be selected
- Can be printed (or downloaded) via
- The product/chore/battery edit page
- The context/more menu per line on the overview pages and for stock entries on the stock entries page
- Automatically on purchase (new option on the purchase page, defaults can be configured per product) for stock entries
- The used barcode type can be configured via the
config.php
optionGROCYCODE_TYPE
:1D
(default) will produce aCode128
1D barcode (supported by the integrated camera barcode scanner)2D
will produce aDataMatrix
2D barcode (currently not supported by the integrated camera barcode scanner, but can be probably printed smaller)
- Label printer functionality can be enabled via the new feature flag
FEATURE_FLAG_LABEL_PRINTER
(defaults to disabled) - Label printer communication happens via WebHooks - see the new
LABEL_PRINTER*
config.php
options - grocycodes can also be used without a label printer - you can view or download thm as pictures and print them manually
- More information:
- (Thanks a lot @mistressofjellyfish for the initial work on this)
New feature: Meal plan sections
- Split the meal plan into sections like Breakfast/Lunch/Dinner
- => New button "Configure sections" on the meal plan page to configure the sections (top right corner)
- => Each meal plan entry can be assigned to a section
New feature: Shopping list thermal printer support
- The shopping list can now be printed on a thermal printer
- The printer must be compatible to the
ESC/POS
protocol and needs to be locally attached or network reachable to/by the machine hosting grocy (so the server) - See the new
TPRINTER*
config.php
options to configure the printer connection and other options - => New button on the shopping list print dialog
- The printer must be compatible to the
- Can be enabled via the new feature flag
FEATURE_FLAG_THERMAL_PRINTER
(defaults to disabled) - (Thanks a lot @Forceu)
Stock improvements/fixes
- Product barcodes are now enforced to be unique across products
- On the stock overview page it's now also possible to search/filter by product barcodes (via the general search field)
- The product picker on the consume and transfer page now only shows products which are currently in stock
- Added a filter option to only show in-stock products on the stock overview and products list (master data) page
- Added new columns on the stock overview page (hidden by default): Product description, product default location, parent product, product picture
- Added a new product option "Should not be frozen" (defaults to disabled and only visible when
FEATURE_FLAG_STOCK_PRODUCT_FREEZING
is enabled)- When enabled, on moving the product to a freezer location (so when freezing it), a corresponding warning will be shown
- Optimized that when opening a product which has "Default due days after opened" set, the resulting date now never extends the original due date
- Added a new stock setting (top right corner settings menu) "Add decimal separator automatically for price inputs" (defaults to disabled)
- When enabled, you always have to enter the value including decimal places, the decimal separator will be automatically added based on the amount of allowed decimal places
- Fixed that editing stock entries was not possible
- Fixed that consuming with Scan Mode was not possible
- Fixed that the current stock total value (header of the stock overview page) didn't include decimal amounts (thanks @Ape)
- Fixed that the transfer page was not fully populated when opening it from the stock entries page
- Fixed that undoing a consume/open action from the success notification on the stock entries page was not possible
- Fixed that adding a barcode to a product didn't save the selected quantity unit when the product only has a single one
- Fixed that the store information on a stock entry was lost when transferring a partial amount to a different location
- Fixed that the "Spoil rate" on the product card was wrong in some cases
- Fixed that the stock journal showed always the products default location (instead of the location of the transaction)
- Fixed that the aggregated amount of parent products was wrong when indirect quantity unit conversions were used
Shopping list improvements/fixes
- The amount now defaults to
1
for adding items quicker - Added a status filter for only done items
- The total value is now also shown (based on "Last price (Total)" per item, displayed on the page header and only when
FEATURE_FLAG_STOCK_PRICE_TRACKING
is enabled) - Fixed that shopping list prints had a grey background (thanks @Forceu)
- Fixed the form validation on the shopping list item page (thanks @Forceu)
- Fixed that when adding products to the shopping list from the stock overview page, the used quantity unit was always the products default purchase QU (and not the selected one)
- Fixed that the displayed last unit/total price was wrong when the used quantity unit was not the products stock QU
- Fixed that the "Add as barcode to existing product" productpicker workflow did not work
Recipe improvements/fixes
- Recipe printing improvements (thanks @Ape)
- Calories are now always displayed per single serving (on the recipe and meal plan page)
- The note of an ingredient will now also be added to the corresponding shopping list item when using "Put missing products on the shopping list"
- It's now possible to copy a recipe (button/dropdown menu item per recipe)
- Fixed that the recipe page was slow when there were a lot meal plan recipe entries
- Fixed that "Only check if any amount is in stock" (recipe ingredient option) didn't work for stock amounts < 1
- Fixed that when adding missing items to the shopping list, on the popup deselected items got also added
- Fixed that the amount of self produced products with tare weight handling enabled was wrong ("Produces product" recipe option)
- Fixed that the ingredient amount calculation for included/nested recipes was (for most cases) wrong
- Fixed that the ingredient amount was wrong when using a to the product indirectly related quantity unit
- Fixed that the calories amount calculation was wrong when quantity unit conversions were involved
Meal plan improvements/fixes
- Improved the meal plan page loading time (drastically when having a big history of meal plan entries)
- Meal plan entries can now be visually marked as "done" (new button per entry)
- This happens automatically on consuming a recipe/product from the meal plan page
- It's now possible to copy all entries of a day to another day (in the dropdown of the add button in the header of each day column)
- The "Display recipe" button was removed, instead clicking the recipe title now displays the recipe (and this now also works for products; shows the product card)
- Fixed that stock fulfillment checking used the desired servings of the recipe (those selected on the recipes page, not them from the meal plan entry)
Chores improvements/fixes
- It's now possible to track any addtional info on a chore execution by using Userfields
- => Configure the desired Userfields for the entity
chores_log
- => The on chore execution tracking entered information is then visible on the corresponding chore journal entry
- => Configure the desired Userfields for the entity
- Fixed that tracking chores with "Done by" a different user was not possible
Userfield improvements/fixes
- Userfields can now be configured as mandatory (new Userfield option, defaults to disabled)
- Fixed that numeric Userfields were initialised with
1.0
- Fixed that shortcuts (up/down key) and the format did not work correctly when using multiple date/time Userfields per object
- Fixed that Userfields were not saved when adding a product or a recipe (only on editing)
General & other improvements/fixes
- LDAP authentication improvements / OpenLDAP support (thanks @tank0226)
- A read only service account can now be used for binding
- The username attribute is now configurable
- Filtering of accounts is now possible
- => See the new
LDAP*
config.php
options
- Improved the page loading time of all journal pages (stock/chores/batteries) by adding a new date range filter
- Some night mode style improvements (thanks @BlizzWave and @KTibow)
- Help tooltips are now additionally also triggered by clicking on them (instead of only hovering them, which doesn't work on mobile / touch devices)
- The camera barcode scanner now also supports Code 39 barcodes (used for example in Germany on pharma products (PZN)) (thanks @andreheuer)
- Fixed that the number picker up/down buttons did not work when the input field was empty or contained an invalid number
- Fixed that links and embeds (e.g. YouTube videos) did not work in the text editor
- Fixed that the "Manage users" and "Manage API keys" menu was not shown when using reverse proxy authentication
API improvements/fixes
❗ Numbers are now returned as numbers (so technically without quotes around them, were strings for nearly all endpoints before - should practically be no real difference)
- Added a new endpoint
/system/localization-strings
to get the localization strings (gettext JSON representation; in the by the user de...
v3.1.0-ls113
LinuxServer Changes:
Add 'int','json' and 'zlib' PHP extensions.
grocy Changes:
⚠️ The following PHP extensions are now additionally required:json
,intl
,zlib
⚠️ PHP 8 is now supported and from now on the only tested runtime version (although currently PHP 7.2 should still work).
New feature: grocycode / label printer support
(Own) Product/stock entry/chores/batteries labels/barcodes
- Print own labels/barcodes for products/stock entries/chores/batteries and then scan that code on every place a product/stock entry/chore/battery can be selected
- Can be printed (or downloaded) via
- The product/chore/battery edit page
- The context/more menu per line on the overview pages and for stock entries on the stock entries page
- Automatically on purchase (new option on the purchase page, defaults can be configured per product) for stock entries
- The used barcode type can be configured via the
config.php
optionGROCYCODE_TYPE
:1D
(default) will produce aCode128
1D barcode (supported by the integrated camera barcode scanner)2D
will produce aDataMatrix
2D barcode (currently not supported by the integrated camera barcode scanner, but can be probably printed smaller)
- Label printer functionality can be enabled via the new feature flag
FEATURE_FLAG_LABEL_PRINTER
(defaults to disabled) - Label printer communication happens via WebHooks - see the new
LABEL_PRINTER*
config.php
options - grocycodes can also be used without a label printer - you can view or download thm as pictures and print them manually
- More information:
- (Thanks a lot @mistressofjellyfish for the initial work on this)
New feature: Meal plan sections
- Split the meal plan into sections like Breakfast/Lunch/Dinner
- => New button "Configure sections" on the meal plan page to configure the sections (top right corner)
- => Each meal plan entry can be assigned to a section
New feature: Shopping list thermal printer support
- The shopping list can now be printed on a thermal printer
- The printer must be compatible to the
ESC/POS
protocol and needs to be locally attached or network reachable to/by the machine hosting grocy (so the server) - See the new
TPRINTER*
config.php
options to configure the printer connection and other options - => New button on the shopping list print dialog
- The printer must be compatible to the
- Can be enabled via the new feature flag
FEATURE_FLAG_THERMAL_PRINTER
(defaults to disabled) - (Thanks a lot @Forceu)
Stock improvements/fixes
- Product barcodes are now enforced to be unique across products
- On the stock overview page it's now also possible to search/filter by product barcodes (via the general search field)
- The product picker on the consume and transfer page now only shows products which are currently in stock
- Added a filter option to only show in-stock products on the stock overview and products list (master data) page
- Added new columns on the stock overview page (hidden by default): Product description, product default location, parent product, product picture
- Added a new product option "Should not be frozen" (defaults to disabled and only visible when
FEATURE_FLAG_STOCK_PRODUCT_FREEZING
is enabled)- When enabled, on moving the product to a freezer location (so when freezing it), a corresponding warning will be shown
- Optimized that when opening a product which has "Default due days after opened" set, the resulting date now never extends the original due date
- Added a new stock setting (top right corner settings menu) "Add decimal separator automatically for price inputs" (defaults to disabled)
- When enabled, you always have to enter the value including decimal places, the decimal separator will be automatically added based on the amount of allowed decimal places
- Fixed that editing stock entries was not possible
- Fixed that consuming with Scan Mode was not possible
- Fixed that the current stock total value (header of the stock overview page) didn't include decimal amounts (thanks @Ape)
- Fixed that the transfer page was not fully populated when opening it from the stock entries page
- Fixed that undoing a consume/open action from the success notification on the stock entries page was not possible
- Fixed that adding a barcode to a product didn't save the selected quantity unit when the product only has a single one
- Fixed that the store information on a stock entry was lost when transferring a partial amount to a different location
- Fixed that the "Spoil rate" on the product card was wrong in some cases
- Fixed that the stock journal showed always the products default location (instead of the location of the transaction)
- Fixed that the aggregated amount of parent products was wrong when indirect quantity unit conversions were used
Shopping list improvements/fixes
- The amount now defaults to
1
for adding items quicker - Added a status filter for only done items
- The total value is now also shown (based on "Last price (Total)" per item, displayed on the page header and only when
FEATURE_FLAG_STOCK_PRICE_TRACKING
is enabled) - Fixed that shopping list prints had a grey background (thanks @Forceu)
- Fixed the form validation on the shopping list item page (thanks @Forceu)
- Fixed that when adding products to the shopping list from the stock overview page, the used quantity unit was always the products default purchase QU (and not the selected one)
- Fixed that the displayed last unit/total price was wrong when the used quantity unit was not the products stock QU
- Fixed that the "Add as barcode to existing product" productpicker workflow did not work
Recipe improvements/fixes
- Recipe printing improvements (thanks @Ape)
- Calories are now always displayed per single serving (on the recipe and meal plan page)
- The note of an ingredient will now also be added to the corresponding shopping list item when using "Put missing products on the shopping list"
- It's now possible to copy a recipe (button/dropdown menu item per recipe)
- Fixed that the recipe page was slow when there were a lot meal plan recipe entries
- Fixed that "Only check if any amount is in stock" (recipe ingredient option) didn't work for stock amounts < 1
- Fixed that when adding missing items to the shopping list, on the popup deselected items got also added
- Fixed that the amount of self produced products with tare weight handling enabled was wrong ("Produces product" recipe option)
- Fixed that the ingredient amount calculation for included/nested recipes was (for most cases) wrong
- Fixed that the ingredient amount was wrong when using a to the product indirectly related quantity unit
- Fixed that the calories amount calculation was wrong when quantity unit conversions were involved
Meal plan improvements/fixes
- Improved the meal plan page loading time (drastically when having a big history of meal plan entries)
- Meal plan entries can now be visually marked as "done" (new button per entry)
- This happens automatically on consuming a recipe/product from the meal plan page
- It's now possible to copy all entries of a day to another day (in the dropdown of the add button in the header of each day column)
- The "Display recipe" button was removed, instead clicking the recipe title now displays the recipe (and this now also works for products; shows the product card)
- Fixed that stock fulfillment checking used the desired servings of the recipe (those selected on the recipes page, not them from the meal plan entry)
Chores improvements/fixes
- It's now possible to track any addtional info on a chore execution by using Userfields
- => Configure the desired Userfields for the entity
chores_log
- => The on chore execution tracking entered information is then visible on the corresponding chore journal entry
- => Configure the desired Userfields for the entity
- Fixed that tracking chores with "Done by" a different user was not possible
Userfield improvements/fixes
- Userfields can now be configured as mandatory (new Userfield option, defaults to disabled)
- Fixed that numeric Userfields were initialised with
1.0
- Fixed that shortcuts (up/down key) and the format did not work correctly when using multiple date/time Userfields per object
- Fixed that Userfields were not saved when adding a product or a recipe (only on editing)
General & other improvements/fixes
- LDAP authentication improvements / OpenLDAP support (thanks @tank0226)
- A read only service account can now be used for binding
- The username attribute is now configurable
- Filtering of accounts is now possible
- => See the new
LDAP*
config.php
options
- Improved the page loading time of all journal pages (stock/chores/batteries) by adding a new date range filter
- Some night mode style improvements (thanks @BlizzWave and @KTibow)
- Help tooltips are now additionally also triggered by clicking on them (instead of only hovering them, which doesn't work on mobile / touch devices)
- The camera barcode scanner now also supports Code 39 barcodes (used for example in Germany on pharma products (PZN)) (thanks @andreheuer)
- Fixed that the number picker up/down buttons did not work when the input field was empty or contained an invalid number
- Fixed that links and embeds (e.g. YouTube videos) did not work in the text editor
- Fixed that the "Manage users" and "Manage API keys" menu was not shown when using reverse proxy authentication
API improvements/fixes
❗ Numbers are now returned as numbers (so technically without quotes around them, were strings for nearly all endpoints before - should practically be no real difference)
- Added a new endpoint
/system/localization-strings
to get the localization strings (gettext JSON representation; in the by the user de...
v3.0.1-ls112
LinuxServer Changes:
Reduce image size.
grocy Changes:
⚠️ ⚠️ SQLite >= 3.9.0 (was released in late 2015) is requiredHere is a workaround if you still run a SQLite version >= 3.8.3 < 3.9.0
PHP 7.2 with SQLite 3.8.3 was the formerly in README mentioned minimum runtime requirement, any future release will only be tested against a reasonable recent runtime (currently PHP 7.4 with SQLite 3.27.2) - supporting those (very) old runtime stuff is too time consuming...
- Improved the prerequisites checker (added missing required PHP extension
ctype
) (thanks @Forceu) - Added validation checks for most
data/config.php
settings to prevent using invalid ones (thanks @Forceu) - When using reverse proxy authentication (
ReverseProxyAuthMiddleware
), additionally a valid API key can now also be used for authentication (if you don't want to protect the API endpoints via your reverse proxy, however) - Added a new API endpoint
/system/time
to get the current server time (thanks @Forceu) - An amount attached to a barcode is now also prefiled when scanning the product on the Consume/Transfer/Inventory page
- Fixed that some number inputs were broken when the new decimal places setting were set to
0
- Fixed that browser camera barcode scanning did not work on the product edit page for adding product barcodes
- Fixed that indirect unit conversions (those between units, not product overrides) could not be used/selected
- Fixed that the new product option "Never show on stock overview" was unintentionally set by default for new products
- Fixed that adding items to the shopping list from the context/more menu on the stock overview page did not work
- Fixed that consuming was not possible when
FEATURE_FLAG_STOCK_LOCATION_TRACKING
was disabled - Fixed that adding images in text editor fields did not work
- Fixed some other minor UI glitches