The juice calculator allows you to keep track of all of your favorite e-juice recipes and ingredients. It allows you to: - Enter an unlimited number of ingredients that you may use in your recipes. - Assign notes to the ingredients. - Enter the PG/VG ratios of the ingredient - Define the amount of nicotine contained in the ingredient. = Define the number of drops per ml of the ingredient. - Specify a default percentage amount that will be used when the ingredient is added to a recipe. = Enter an unlimited number of recipes using the defined ingredients - Specify the target nicotine strength. - Specify the number of ml's to make. - Specify the desired PG/VG level of the resulting recipe. - Assign notes to the recipe. - Assign a weight in grams/ml to an ingredient and displays the total grams of an ingredient to add to a recipe. - Assign a cost value to ingredients so that the total cost of a recipe can be calculated. - Has a function to allow you to dilute a nicotine ingredient and save the dilucted nicotine as an ingredient for later use. - Allows you to retrieve an existing recipe and modify the ingredient values and provide you with the amount of each ingredient to add to your existing recipe to meet the new percentage values provided. - Allows you to create a new recipe by providing the amount of ML's you have used for each ingredient when creating a mixture. - Lets you assign a rating to each of your recipes and view your recipes sorted by their rating. - Allows you to export your recipes and ingredients to Excel. About ingredients - You must specify the flavors and nicotine base(s) that you will use in your recipe. - You can enter a pre-mixed juice as an ingredient (flavor) and specify the amount of nicotine contained in the pre-mix. - Water, vodka and PGA should be entered as an ingredient (other). - VG and PG ingredients are automatically added. You can update the VG and PG ingredients to specify the number of drops per ml. About recipes - You can select 1 of your defined nicotine bases to use in the recipe. - You can select an unlimited number of flavors (ingredients) to add to your recipe. - You should select your desired target levels of nicotine, VG%, PG% and amount to make. - PG/VG Precedence, when calculating the amount of PG and VG to add, the application will attempt to meet the PG or VG requirement before adding the other ingredient. Getting Started (Ingredients) 1. Add ingredients by clicking "Manage Ingredients" button. 2. On the ingredients window, select "Create New Ingredient" button. 3. Specify the appropriate values for the ingredient being added. 4. Click the "Update Ingredient" button to save the changes. 5. Click the "delete" button if you want to delete the ingredient. Note, you cannot delete ingredients if they are contained in an existing recipe. 6. To update previously defined ingredients, select the ingredient from the "Ingredient name" drop down list. 7. When you have completed defining your ingredients, click the "Exit" button. Getting Started (Recipes) 1. Select "New Recipe" button to begin your recipe. 2. Specify the target nicotine level in mg/ml and the amount to make in ml. 3. Identify your PG/VG precedence. If PG is selected, the goal will be to meet the PG percentage level before attempting to meet the VG percentage level. 4. Identify the nicotine base to use. If none defined, click the "Manage Ingredients" button to define the nicotine base. 5. In the PG and VG ingredients area, specify your target PG and VG preferences for the recipe. 6. Click the "Add Flavor" button to select an ingredient to add to the recipe. - You will be prompted for the name of the ingredient and given the opportunity to create/update the ingredient in the "Manage Ingredients" window. - You will then be given the opportunity to specify the percentage of the ingredient to add to the recipe (it will default to the value defined with the ingredient). 7. As you enter/modify your recipe preferences, the target values will automatically calculate and be presented. In the "Warnings and Errors" section, messages will be displayed related to issues in meeting your target specifications. 8. Don't forget to save you work by selecting "File-->Save" or "File-->Save As". Optionally you can press the “Save & Exit” button. Getting Started (Saving your work) 1. To save you recipes, click the "File->Save" or "File->Save As" menu items and provide the location to save your work. 2. To load previously saved recipes, click "File->Open". Overview of how the calculations work. 1. All flavor ingredients will be evaluated and the number of ML's to add will be calculated based on your percentage selections. 2. Also when calculating the flavor ingredients, total PG, VG and nicotine levels will be tracked. 3. After calculating all flavor ingredients, the nicotine will be calculated. Based on you nicotine ingredient strength and the nicotine that may have been present in your flavor ingredients, the total ML’s of nicotine to add will be calculated. 4. If the total ml's of nicotine to add exceed the total ml's for the recipe, the nicotine ml's will be decreased causing you MG per ML to be lowered and a warning will be displayed. 5. Although it is not likely but is possible, if the total MG’s of nicotine added from you flavor ingredients exceeds the target mg/ml of your recipe, a warning will be displayed. 6. After calculating the flavor ingredients and the nicotine base, the amount of PG or VG will be calculated (based on your "Precedence" setting). 7. The PG/VG calculation will attempt to meet your target level but it will not exceed the total ML's specified for the recipe. 8. After the PG/VG precedence is calculated, the other (PG or VG) will be calculated. Again an attempt to meet your percentage requirement will be made but the total ML's for the recipe will not be exceeded. 9. After all of the above calculations have taken place and the desired ML level has not been reached, additional ML's of the preferred PG/VG filler will be added. Importing Recipes from EJuice Me Up (.REC file) 1. Click on Tools->Import EJuiceMeUp (.REC file) 2. Select the .REC file to import 3. The recipe will be added to your currently opened Juice Calculator recipes along with the ingredients. Importing Recipes from an XML document created by this application 1. Click on Tools->Import from Recipe Calculator (.XML file). 2. A window will be launched, click the "Browse" button to navigate to the file to import. 3. All available recipes will be displayed, select the recipes to import by placing a check. 4. Click the "Import" button and the recipes will be added to the currently opened recipe document. See the Help file provided with the application for more details of all available functions. Version 1.0.2.0 Added cost values for the "Manage Ingredients" and calculate the total cost of the recipe. Version 1.0.3.0 Cost was flagging that all ingredients didn't have a cost/ml provided when one of the ingredients was showing a 0 about to add to the recipe. Corrected. Version 1.0.4.0 Changed the .NET framework requirement from 4.5 to 4.0. This allows the application to be installed on a Windows XP machine. Version 1.0.5.1 On the "Manage Ingredients" window increased the maximum values for: 1. "ML's" 2. "Cost" 3. Nicotine level (mg/ml) 4. Drops per ml On the main window increased the maximum values for amount to make. Add a "Tools->Options" menu item on the main window. This will launch a window allowing you to specify default values that will be set when adding new recipes or ingredients. Also allow the default directory to save juice information to be specified in the "Options" window. Version 1.0.6.0 Added a help file that can be viewed from the "Help->Display Help" menu item. Version 2.0.0.4 Added a "Modify existing recipe" option on the "Tools" menu. This option will allow you to make changes to a recipe that has already been mixed. It will tell you how much additional amounts of the ingredients to add to make the mix meet the desired nicotine level and flavor percentages. Version 2.0.0.7 Added support for a recent change to the EJuiceMeUp calculator. The notes feature from EJuiceMeUp will now be imported. Version 2.0.0.9 Added an option to export the recipes to Excel. Version 2.0.1.2 Added a "Tools->Export recipe to Excel" and "Export all recipes to Excel" options. Added the ability to specify "Grams/ml" for the ingredients and when the recipe is displayed the total number of grams for each ingredient will be provided. In the "Tools->Options" I added two new fields associated with "grams". You can specify the default grams/ml to set when a new ingredient is added and added a checkbox for "Don't show grams". When checked, the total grams to add to a recipe will not be displayed when showing the results of a recipe. Version 2.0.1.3 When importing from XML file the cost, grams and drops were not being imported for an ingredient. Fixed. When importing from XML file I stopped adding the notes "imported from...". Added an option on the manage ingredients form to allow the ingredient to be renamed. Version 2.0.1.4 Add option on the XML import window to allow for "Select All" and "Unselect All". Add option on the Modify Recipe window to allow for the updated recipe to be "saved as" a new name. Version 2.0.1.5 Added an option to allow for two different methods of calculating the PG/VG values. See the Help file, section "Getting Started - About PG/VG Calculations" for more details. Version 2.0.1.6 Added an option to allow for recipes to be imported from ExMix. Version 2.0.1.8 Added an option to import all .REC files from a specified directory. Added an option to import all .MIX files from a specified directory. Fixed a bug with importing older versions of .REC files. Version 2.0.1.10 Added a Help option to go to the URL which contains the download for this application. Version 2.0.1.11 Added a search option to the edit menu item on the main form. This will allow you to find any recipes that contain one or more of the selected ingredients. Version 2.0.1.12 Added an option to the tools menu item on the main form to allow for calculating how to dilute a base nicotine to a lower level. Version 2.0.1.13 Fixed a bug in the ModifyRecipe window. The target amount could be changed resulting in the amount of a flavor ingredient to add going negative. Version 2.1.0.0 Added option in the tools menu to build a recipe based on ingredients and volume amounts. Fixed a bug when exporting to Excel. When a recipe name was longer than 31 characters the program would throw an exception. Version 2.1.0.1 In the help menu under "Check for updates" I added the option to download from either Google Drive or Dropbox. Version 2.1.0.2 Found a bug where under certain circumstances the PG/VG amounts were not being properly calculated. Changed the "Add Flavor" button to "Add Ingredient" on the main window, build recipe window and, modify recipe window When an ingredient of type "other" is displayed on the main screen I changed the label to display "Other" instead of "Flavor". This change was added to the main window, build recipe window and modify recipe window. Added a new option to specify a recipe as a default recipe to use when creating new entries. Added an option to show/hide drops in the main window, modify window and printouts of both. Version 2.1.0.3 When displaying ingredients on the windows, add shade to every other ingredient. Bug fix, when removing an ingredient from the Modify Recipe window, two ingredients would be removed. Version 2.1.0.4 Added new option to adjust the total flavor percentages. Menu item "Edit->Adjust total flavor percentages". Version 2.1.0.5 Fixed an erroneous error message when diluting nicotine. Version 2.1.0.6 Big changes to the dilute nicotine window. You must now select an existing nicotine ingredient as your base nicotine. Also on the dilute nicotine window you have the option to specify a name for the diluted nicotine and save it. When saving a new nicotine ingredient, the cost and grams of the new nicotine ingredient will be calculated based on the cost and gram values of the ingredients used to dilute the nicotine. Other small cosmetic changes to various windows. Version 2.1.0.7 Made changes to support different Windows font sizes and resolutions. Version 2.1.0.8 Print recipe and ingredient notes when printing out a recipe. Version 2.1.0.9 Fix an issue related to rounding errors causing erroneous error messages. Version 2.1.0.10 Made a change to the "Add Ingredient" window to support different Windows font sizes and resolutions. Version 2.1.0.11 Found another case of rounding errors triggering erroneous error messages. Version 2.1.0.12 The program was not allowing nicotine ingredients to be deleted. Fixed. Version 2.1.0.13 I created a bug with V2.1.0.2 and when the option to specify a template was added, it made it impossible to delete a recipe. It always stated that the recipe you were trying to create was the recipe specified for the template. Fixed. Also, there was a carry on issue from the bug fix in V2.1.0.12. When a different nicotine ingredient was applied to a recipe, the previous nicotine entry was left associated with the recipe. This would prevent attempts to delete the previous nicotine entry. While testing the above two issues I found a third issue. When a recipe was changed from a nicotine entry to "None" for the nicotine, the previously associated nicotine entry continued to be used in the recipe calculations. Fixed. Version 2.1.0.15 Updated the help file. Noticed that in the control "Programs and Features" (Add/Remove programs) that multiple entries were being kept, one for each new version installed. Modified the Setup program to prevent additional entries from being added. Version 2.1.0.16 Added the ability to rate a recipe on a scale of 0 to 5. Version 2.1.0.17 Fixed an issue when deleting a recipe, another recipe was not automatically being selected. Fixed an issue when "closing" a recipe file, the empty window was not being disabled. Added a "View" option to choose whether to display recipes in name or rating order. Added the ability on the Options window to default the order that recipes will be displayed, name or rating. Added the ability to state your preferred mixing method (ML's, Drops, Grams) and when printing and displaying the amounts, BOLD the preferred value. Added the ability to turn on the minimize/maximize buttons on the main window however the help button (?) will turn off when min/max are on. Use the "Tools->Show minimize/maximize button" menu item. Also note that this will also toggle to "Tools->Show help button" to switch back. Version 2.1.0.18 Modified the "About" window so that the buttons would display on a low resolution, large font display. Added support for recipe ratings on the Modify Recipe window. Modified the "Options" window so that the buttons would display on a low resolution, large font display. Version 2.1.0.19 When saving a recipe in the Modify Recipe window, the recipes combobox of the main window was not being updated to reflect the new recipe. When there was no nicotine entry assoicated with a recipe and the "Modify Recipe" window was launched, an exception was being thrown. Fixed. Version 2.1.0.20 A memory leak was being triggering by importing a large volume of recipes with a .REC file extension. The memory leak would then trigger a windows exception to be thrown. Fixed. Version 2.1.0.21 Added a new option to the Modify Recipe window. There is a new menu item that will assist in calculating the percentage increase of an ingredient. Version 2.1.0.22 With the change that was added in V2.1.0.21 the "Modify Recipe" window was not recalculating the amounts to add when the percentage was changed. Fixed. Recipe names and ingredients were previously case sensitive making it possible to enter an ingredient name of "Flavorx" and "flavorx". Modified to ignore case and prevent the entry of duplicate entries. Also added a menu option "Edit->Merge/Combine same name ingredients to assist in the removal of same name ingredient entries. Version 2.1.0.24 Added the ability to detach the recipe notes into a separate window giving more area to type and maintain notes for the recipe. Notes can be detached/reattached by clicking the "D" button right under the "Notes" label or have focus in the Notes textbox and typing Ctrl-D. Added the ability to sort recipes by recipe creation date (in addition to name and rating sorts from V2.1.0.17). However there is one shortcoming for this change: Prior to this change the date that a recipe was created was never tracked. All existing recipes will have a date applied (1/1/1970). For all new recipes created the date will reflect the date/time that the recipe was created. Other minor changes: - Changed the number of decimal places of the "Amount to make" on the main window from 0 decimal places to 2 decimal places. - When a recipe was being modified on the "Modify Recipe" window the "Target Amount" value from the modify window was being carried back to the "Amount to Make" value on the main window. Changed to prevent this from happing. - When importing recipes from other XML files the rating value was not being set in the new recipe. I chose to set the rating o the new recipe to the rating value of the imported recipe (right/wrong?). Version 2.1.0.26 Added a new program called "FileMaintenance". It adds the ability to work directly on your juice files: 1. You can drag/drop recipes and ingredients from one juice file to another juice file. 2. You can edit values associated with recipes and ingredients and apply your edits to one recipe/ingredient or all recipes/ingredients in the juice file. See the Help File for more details. Version 2.1.0.27 Made minor formatting changes to the FileMaintenance window. When the "Apply" button is clicked on the edit recipe and edit ingredient windows of the FileMaintenance program I added a timed "Updates Applied" message that goes away after 15 seconds instead of a Message Box window. The FileMaintenance program will now remember the last files that you had opened and reopen them the next time the program is launched. Show the recipe ratings in the recipe listboxes of the FileMaintenance window. Removed the "Ingrediented Updated" message box from the Manage Ingredients window. Replaced with a timed "Ingredient updated" message that goes away after 15 seconds. Version 2.1.0.28 An exception was being thrown when the last recipe in a juice file was deleted. Fixed. Version 2.1.0.29 When ingredients were copied to another file in the file maintenance window, editing the ingredient in either file would change the values in both files. Fixed. Changed the File Maintenance program to be a .NET 4.0 program instead of 4.5. I learned that it wasn't working on Windows XP. Version 2.1.0.30 Added "Save" buttons to the file maintenance window. Removed the "Ingredient deleted" popup and replaced with a time message. Add support to drag/drop recipes and ingredients from the FileMaintenance application to the JuiceCalculator. WARNING: It is not safe to have both of these windows opened at the same time. The window which does the last save wins and the other window won't see the results of the save until the file is reopened. Add support to drag/drop .REC and .MIX files to the JuiceCalculator window. When dropped on the window the recipe will automatically be imported. Add support to drag/drop .REC and .MIX files to the FileMaintenance window. When dropped on the window the recipe will automatically be add to the file. Version 2.1.0.31 Modified the printout to make it easier to read the recipe. Added a "Save" button on the main form of the calculator. Version 2.1.0.32 When adding a new ingredient force the new ingredient window to default to a flavor ingredient. In the "Select Flavor" window add support to auto-fill/auto-select the ingredient being entered. Version 2.1.0.33 Updated the nicotine combobox in the dilute nicotine window to auto complete when typing in the nicotine ingredient name. When printing a recipe I added a date/time to the printout (current date/time). When changing PG/VG percentages of a recipe I made sure that the VG+PG is not > 100. If it is, the percentage of the ingredient not being changed will be updated to make the total 100%. If the option is set to not calculate PG/VG percentages by volume (VG + PG is always 100%), I adjust the percentage values of the recipe to insure that they always total 100%. Made a change in manage ingredients to insure that the PG + VG percentage is never greater than 100%. In the logging area of the modify recipe window, prevent duplicate log entries from being displayed back-to-back. Version 2.1.0.34 Added an option to use a very basic calculator (Tools->Simple Calculator). This will open a new window and provide the ability to adjust nicotine levels, flavor percentages or PG/VG percentages. See "Misc Actions - Simple Calculator" later in the help file for more details. Version 2.1.0.35 Added logic to prevent the window flashing that occurred when the sort order of recipes changed, recipes were imported and when recipes were renamed. In the results area of the recipe window show both the total weight in grams and the grams/ml if the options are set to "Show grams". Version 2.1.0.36 - Made changes which will enable the program to remember the last opened juice file when installing updates. Note: when this version is installed the last opened filename from the previous version will not be remembered. It will only be remembered from this version going forward. - Add options to allow for automatic backups to be taken of the open juice file. See "Tools->Backup Options". - When importing recipes from an XML file, added the option to skip the import of recipes with duplicate names. If the checkbox is checked and the recipe being imported already exists in the current juice file, the recipe will not be imported. - When "Save As" is selected, default the directory and filename to the currently opened file. Version 2.1.0.37 - In the Manage Ingredients window I changed the "Ingredient Name" combo box to allow you to type in the ingredient name (or selected from a drop down list) rather than only allowing a selection from a drop down list. - When displaying/printing grams, changed the precision from 1/100 to 1/1000. Version 2.1.0.38 - When importing recipes the cost values and other values associated with the PG and VG ingredients were being replaced by the PG/VG values in the imported recipe. Fixed. - Modified the Dilute Nicotine window to allow for the amount of diluted nicotine to create to be specified. - Modified the Dilute Nicotine window to show the number of grams of PG, VG and base nicotine to be displayed. Version 2.1.0.39 Added the ability to create a new recipe by joining two existing recipes together and specifying the amounts for each of the two recipes that you are joining. Version 2.1.0.40 Added the ability to search all recipes for an ingredient and replace the ingredient with another ingredient. Version 3.0.0.0 (Beta) - Although this version has been thoroughly tested, PLEASE MAKE A BACKUP COPY OF YOUR RECIPE FILE before using. - On the find and replace window an option to delete the "find" ingredient was added. The "find" ingredient will be removed from you ingredient list after the replace option has completed. - Added the ability to enter "Manufacturers" such as TFA, Hangsen, etc... (Edit->Maintain manufacturer list) - Allow ingredients to be associated to a pre-defined manufacturer in the manage ingredients window. Ingredients can only be associated with a manufacturer when the ingredient is created. - In the "Maintain Manufacturers" window, provided the ability to search for ingredients that contain a string (that you provide) and associated all ingredients that contain the string with the selected manufacturer. The search string will then be removed from the ingredient name. - Added a "View->Display Ingredient/Manufacturer as" menu option. You can select how ingredients and the manufacturer name will be displayed. For instance if you have an ingredient called "RY4" associated with a manufacturer of "TFA" the ingredient can be displayed as "RY4 (TFA)", "RY4 - TFA", "(TFA) RY4" or "TFA - RY4". Version 3.0.0.1 (Beta) - Modified the look of the window that is used to show the ingredients that will be modified when search for a string in the manufacturer window. - When ingredients were being renamed the ingredient list was not being resorted and placed in alphabetical order. Fixed. - Under certain circumstances it is possible to have two ingredients display with the same name when manufacturers are associated with an ingredient. I attempt to detect this condition and prevent it but it is not always possible. When this condition is detected a new warning message is displayed with advice on how to resolve the condition. Version 3.0.0.2 (Beta) - Ingredients were being sorted by their display name which could have the manufacturer name as the first part of the name. Changed the sorting to sort by the non-display name (ingredient name without manufacturer). - When the "Search and associated manufacturer" was being used from the Update Manufacturer window and the search as a case in-sensitive search, the ingredient name was being set to upper case. Fixed. Version 3.0.0.4 - Provide an option to rename manufacturers in the Manufacturer window. - Private an option to select how ingredients will be sorted in the dropdown lists (View->Sort Ingredients). Version 3.1.0.1 - Added a checkbox on the Manufacturer window to specify if the ingredient should be renamed after associating to a manufacturer. - In the "backup options" window the "browse" button wasn't functioning. Fixed. - When a recipe is displayed on the main window the flavor ingredients are displayed in the order that they were added to the recipe. I added a new option "View->Sort recipe ingredients". You can select to sort the display of the ingredients by "order entered" which is how they are currently sorted, "ingredient name" or "ingredient percentage". - Created a new option on the "Options" window. Added a checkbox labeled "Prompt for new ingredient name on manage ingredients window". It defaults to "checked". If checked, the "Create Ingredient" button will always be enabled on the "Manage Ingredients" window and when clicked, you will be prompted to enter a new ingredient name and selected a manufacturer. If unchecked, you must type the new ingredient name in the ingredient text box and select a manufacturer before clicking the "Create Ingredient" button. - Created a new option on the "Options" window. Added a checkbox labeled "Prompt for new manufacturer name on edit manufacturers window". It defaults to "checked". This option functions the same way was the "Prompt for new ingredient name" option described above. - Allow a different manufacturer to be associated with an ingredient in the manage ingredients window. - Modified the simple calculator. Moved the three existing functions to their own windows and options in the dropdown list. - Added additional simple calculators: - Determine the resulting nicotine level after mixing two liquids together. - Determine how much of liquid #2 should be added to liquid #1 in order to obtain a new nicotine level. - Determine how many mls of two liquids are needed to obtain a new nicotine level of a specified number of mls. - Determine the resulting PG/VG levels after mixing two liquids together. Version 3.1.0.2 - When adding new ingredients to a recipe, set focus to the percentaage value of the new ingredient. - Added an option to print labels. "File->Print Labels" on the main window. Version 3.1.0.3 - When finding/replacing ingredients the ingredient that was being replaced and deleted was being left in the dropdown list. You had to exit the window and re-enter the window to force the dropdown lists to be updated. Fixed. - When importing recipes from an XML file, ingredients that were referenced more than once in the source XML file were being added as duplicates. Version 3.1.0.4 - Moved the "Help" menu option on the main window from the write side of the menu bar to the last item on the left side. - Made a change allowing the show Min/Max button setting to be saved when new versions of the application are installed. Version 3.1.0.5 - Hitting the enter key when typing in a new recipe name on the new recipe form will automatically press the OK button. - When the rename recipe form is displayed, prefill the new name with the name of the recipe that is currently selected. - Added a "rename recipe" button to the main window - Reorganized the "Options" window. - Added a checkbox to the "Print Defaults" tab of the "Options" window. The checkbox will turn on/off the printing of ingredient notes when a recipe is printed. - When grams were being printed the trailing zeros (down to 1/1000) was not being printed. Version 3.1.0.6 - When dragging and dropping in File Maintenance, do not add the comment "imported from" to the notes. - Added a new option on the "Print Defaults" to select the font to use when printing recipes. - Added a new option on the "Print Defaults" to turn off the printing of the recipe notes. - Added a new option on the "Print Defaults" to allow for single spacing of the printed recipe. Version 3.1.0.7 The "BuildRecipe Recipe from Ingredient Amounts" function did not make allowances for having recipes with no nicotine and was throwing an except when invoked using a recipe with no nicotine. Fixed. Version 3.1.0.8 1. Fixed issues with the printing of recipes. When I added the option for single/double spacing of the recipe I caused some issues where the "warning" messages would overlay other values in the printout. 2. Spruced up the printout. The ingredient values of a printout will now align up on the decimal points of the values. 3. On the main window I relocated the "Add ingredient" button so that it does not scroll when the ingredients are scrolled. 4. When custom labels were created they were not being saved. Fixed. 5. The "Print preview" button was launching the print dialog instead of preview dialog in the label printer. 6. Added a print preview for printing recipes. Version 3.1.0.9 1. I had accidently removed the "default recipe" value from the options window. Fixed. 2. When importing recipes from .Rec files, prompt the user when the recipe is a duplicate and give the user the option to: - Choose a new name for the recipe. - Let the importer decide on a new name (how it worked previously) - Skip the import of the duplicate recipe - Allow the user to apply the "Skip" or "Let imported decide" to all other duplicate recipes. 3. When importing all .Rec files in a directory, stop all of the window refreshes until the last recipe is imported. You will notice that the import will run MUCH quicker. 4. Added a new menu option, "Edit->Copy recipe". Version 3.1.0.10 1. Several changes in the printing of recipes to include better alignment of ingredient values and column headings of the ingredient entries. 2. Bug fix - In the File maintenance drag/drop if PG/VG entries being dragged were associated with a "Manufacturer", duplicate PG/VG entries were being created. This issue would also occur during an import of recipes from another XML document. 3. Several other changes related to the internal design/structure of the application. Version 3.1.0.11 1. The PrintLabel window was throwing an exception if zero values were entered for rows/columns. Fixed. 2. Added the basic support for tracking inventory: - Enter inventory amount on the manage ingredients screen. - When entering cost values added a button to update the inventory - Added a button on the main recipe window to allow the inventory of each ingredient to be reduced. - Added warning messages on the main recipe window which states that there is not enough of an ingredient for the recipe. - Added warning messages to the recipe printout which states that there is not enough of an ingredient for the recipe. - Added a checkbox in the "Options" window on the Ingredient tab to turn on/off inventory warning messages. - Added a value in the "Options" window on the Ingredient tab to specify the amount of inventory of an ingredient when a new ingredient is created. - When exporting to Excel export the ingredients inventory value. 3. When fields containing "numericupdown" controls are selected the text will be highlighted allowing you to type a new value. 4. The SimpleCalculators were computing the grams incorrectly, fixed. 5. When recipes were exported to Excel the nicotine value was being displayed as 0, fixed. Version 3.1.0.12 1. The "Add to inventory" button wasn't properly updating the inventory value. Fixed. 2. When changing an ingredient in a recipe keep the ingredient percentage set to the same value as the ingredient being replace. 3. Fixed an issue in the "Modify recipe window". When a new ingredient was added in the modify recipe window under some cirumstances some of the values to add was being displayed as a negative number. Version 3.1.0.13 Added a preview of the new recipe in the "Merge Recipe" window. Version 4.0.0.1 1. Allow different fonts and colors to be set for each item placed on a label. 2. Modified the label designer to print all labels centered vertically. 3. Allow images to be provided and printed on the labels. 4. Added an option in the Options window (Print Defaults tab) to specify the date format to use when labels are printed. 5. Added an option in the Options window (Print Defaults tab) to specify that all label definitions are in metric or inches. 6. Note: The new label options are selected by using the "File->Print Label Advanced" option on the main recipe window. I will remove the preview "File->Print Label" option after receiving feedback on the advance label printing option. Version 4.0.0.2 1. The inventory amount for an ingredient was not being properly calculated when the "Add to inventory" button was pressed. Fixed. 2. Added an additional field to the label designer. It is a free form text field. 3. Added the option to have 4 lines printed on the label. Version 4.0.0.3 1. Add an option to "File->Print Ingredients" which will print all of your ingredients. 2. Added a "Donate" button "Help->About" window. Version 4.0.0.4 1. Was displaying some labels as "inches" when metrics was selected for display. Corrected the labels. 2. When launching the window to create/update paper definitions new paper definitions were not being selected when returning to the launching window. 3. When selecting the "File->Print Ingredients" and clicking the cancel button an exception was being thrown. Fixed. 4. Added a new menu option "File->Open recent". This will show you the last 20 juice files that you recently opened or saved and allow you to select the file and open it. This option was added in case you forget the location of where you saved your last juice file. 5. When the mouse wheel was used to scroll thru the dropdown list of ingredients, the flavor percentage was changed. Fixed. 6. Changed the "Reduce Inventory" button on the mainwindow to be "Reduce/Increase Inventory". When clicked a window will be displayed asking if you want to reduce or increase the inventory amounts of each ingredient by the amounts called for in the recipe. Version 4.0.0.6 1. Added the ability to categorize ingredients. The categories are used in the ingredient dropdown lists when ingredients are being selected from the main recipe form or when the "Add Ingredient" button is clicked on the main recipe form. To enable this feature go to the Tools->Options->Ingredients and check the "Display ingredients by category" and update your ingredients and provide a "Category name" value. 2. Moved the "Tools->Backup Options" window to the "Tools->Options" as a tab. 3. An exception would be thrown when exporting to Excel if your recipe name contained a special character (: \ / ? * [ ]) that excel doesn't allow. I changed the program to rename your recipe if one of these characters is found in the recipe name. 4. An exception would also be thrown when exporting to Excel if the recipe name was greater than 31 characters. I changed the program to truncate/rename the recipe if the length of the name is greater than 31 characters. Version 4.0.0.7 1. Rearranged the look and feel of the main recipe window and moved several of the buttons on the window to a tool strip. 2. Updated the Manage Ingredients window and moved the buttons to a tool strip. 3. Add back the ability to type in the ingredient name in the "Add Ingredient" dropdown list. 4. Added "PreSet" values. You can select a PreSet value from the "Edit->Load PreSet Values" and it will set values in the selected recipe for Amount to make, PG/VG percentages and Nicotine level. You can provide the values for the PreSets in "Tools->Options->PreSets". 5. Added inventory alerts. In the Manage Ingredients window you can now specify a "Inventory alarm threshold". If you have enabled "Display Inventory messages" in the "Tools->Options>Ingredient defaults" you will receive a message that you have fallen below the threshold when 1) The program is launched, 2) You open a juice file and 3) when you click the "Inventory" button on the main recipe window. Version 4.0.0.8 The numeric up/down control that is used for specifying the percentage of an ingredient in the recipe window was behaving badly when trying to type a value in the field. Fixed. Version 4.0.0.9 1. Link to GoogleDrive to download updates broke, fixed. 2. In the window to "build recipe from ingredient amounts" I added the ability to enter "grams". 3. Corrected a label on the "build recipe" window. The nicotine label in the results window was showing "g" and I changed to reflect "mg". Version 4.0.1.0 1. On the Manage Ingredients window I changed the nicotine control to allow the display of 2 decimal digits. 2. After the "notes" was undocked and then redocked the notes would not size properly with the main recipe window. Fixed. Version 4.0.1.1 1. Added a context menu for copy/paste to the notes area of the main recipe window. 2. Added a context menu for copy/paste t othe notes area of the manage ingredients window. Version 4.0.1.2 1. Added an option to export recipes to a new juice file (Tools->Export to juice file). 2. Added an option to view the current inventory of ingredients (View->Current inventory). When the list is displayed you can sort the list by clicking on the column headers. You can also click the "Print" button and it will print the inventory in the order displayed. 3. Added an option to directly print the inventory of ingredients (File->Print inventory). Version 4.0.1.3 1. When the main window is sized (made wider) the notes are of the window will widen. 2. When creating a new recipe use the notes from the recipe that it used as a template to populate the notes of the new recipe. Version 4.0.1.4 1. Added a "purchase date" field on the ingredient window. 2. Fixed a bug in the modify recipe window. Exception was being thrown when the desired PG/VG level could not be reached. 3. Added a "deactivate" checkbox on the ingredient definition window. When checked the ingredient will not show in the ingredient dropdown lists on the recipe window. If a recipe includes a deactivated ingredient the ingredient will show in the dropdown list. 4. Added a button on the main recipe window called "Flavor %". When clicked a window will open that allows you to specify your ingredient precentages based on their percentage of the total flavor percentage. The sum of the percentages of each flavor ingredient must total 100%. For example you are adding two flavor ingredients, one might be 25% and the other might be 75% and then you specify a total percentage value specifying how much of the total flavor ingredients you want added to the recipe. 5. When a URL is clicked in the notes field the URL will be launched in the browser. 6. Made changes to allow a portable version of the application to be created. On the main recipe window select "File->Portable installation->Create/Update portable folder" and when prompted, select or create the folder that you want the JuiceCalculator installation installed to. For instance, create a folder called "C:\Portable". All of the needed executable files will be copied into this directory and all of the files where options are stored will be copied into "C:\Portable\Data". You can now run the JuiceCalculator from this folder by double clicking the "C:\Portable\JuiceCalculator.exe" file. You could also create the portable folder on a networked drive and have access to the JuiceCalculator from other PC's. You could also choose to ZIP this folder and move it around with you from one PC to another PC. NOTE: With the exception of your juice data file (ingredients and recipes), all of your settings are stored in the portable directory. You continue to have control where your juice data file is stored (thru the File->Open and File->Save As) options. You may want to consider storing your juice data file in the same portable directory so that it will also move around with you. I highly recommend that you read the help file (Help->Display help), section "Misc Actions", "Portable installations". 7. Along with the create portable version option is a "File->Restore settings from portable folder" option. This option will restore all of your settings from your portable directory into the settings being used by the current running instance of the calculator. I highly recommand that you read the help file (Help->Display help), section "Misc Actions", "Portable installations". Version 4.0.1.5 1. When using the "Flavor %" button the recipe was being changed to 100% VG. Fixed. 2. During the Find/Replace function the ingredient being replaced was always being deleted regardless of the value of the checkbox to "Delete find ingredient after replacing". 3. When the main recipe window is resized (made wider) the ingredient name dropdown box will be made wider giving you the opportunity to display long ingredient names. 4. Added a new menuitem "Edit->Ingredient Editor" that will list all of your ingredients in a grid form and allow the ingredients to be edited. - Drag column titles to reorder the columns. - Click column titles to sort the ingredients by that column. - Insert new flavor ingredients by entering data into the last line of the grid. - You can only insert new flavor ingredients (not nicotine) - You can't delete ingredients - Highlight a group of cells, right click, copy and paste to Excel. Make changes to the values in Excel, copy the cells from Excel, select a cell in the grid and right click and paste. - If the values pasted back to the grid are invalid, the paste operation will discontinue and you will see an error indicator in the grid explaining the error that occurred. Version 4.0.1.6 1. The positioning of the ingredient values on the main recipe window were not being positioned correctly. This issue was triggered by change number 3 in V4.0.1.5. Fixed. Version 4.0.1.7 1. Fixed several issues with the "Ingredient Editor". Version 4.0.1.8 1. Added support for using Ctrl-C and Ctrl-V in the Ingredient Editor. 2. Updated the "Edit->Maintain manufacturer list" window. When searching for ingredients to update, the application will now provide the option to select one or more of the found ingredients to update with the manufacturer. Version 4.0.1.9 1. The "Build recipe from amounts" was setting the recipes PG & VG percentages incorrectly when saving the recipe. Fixed. Version 4.0.2.0 1. Added a notes field to the "Build recipe from amounts" window and pre-populate the notes with the recipe being used as the starting point. 2. Corrected an issue with the Ingredient Editor copy/paste. Highlighting text within a cell and doing a Ctrl-C was throwing an exception and copying the text to the wrong cell. Version 4.0.2.1 1. Made a change to the "File->Portable installation->Create/Update portable folder" to help prevent loosing settings of a previous installation. Version 4.0.2.2 1. When in fields on the main recipe window hitting the enter key would trigger a beep. Although this is a default action of Windows, I made changes to supress the beep. Implemented on the main recipe window and the ingredient window. Version 4.0.2.3 1. Added the ability to change the order that the ingredients are listed in the recipe. Place you mouse over the ingredient you want to move and right click, select move ingredient up or down. Version 4.0.2.4 1. Fixed an issue with re-ording ingredients. When the 2nd to the last ingredient was moved down, an exception would be thrown. 2. Changed the label of the "Import from recipe calculator" to "Import EJC Recipe File" 3. The right-click context menu would gray out all menu items when attempting to paste from the Google Chrome browser. Fixed. Version 4.0.2.5 1. I had some limits in the amounts used to track inventory. The limits was previously 10,000 ml's. Increased the limits to 99,999,999 ml's. Version 4.0.2.6 1. When ingredient entries were re-ordered the ingredients would occasionally be overlapped. 2. From contributions made in the "EJuiceCalculator Recipe Trading" in the ECF DIY forum (http://www.e-cigarette-forum.com/forum/diy-e-liquid/599315-ejuicecalculator-recipe-trading-thread.html), a juice file is now distributed with the calculator. It contains a library of ingredients and recipes. The juice file is called "Recipe Starter Kit.xml" and is located in the calculators installation directory which defaults to "C:\Program Files\EJuiceCalculator" on 32-bit windows and C:\Program Files (x86)\EJuiceCalculator" on 64-bit windows. Please remember that if you open the file you should "Save as" to another location to avoid the risk of future updates overwriting any changes that you might apply. Version 4.0.2.7 1. Added the ability to delete ingredients from the ingredient editor window. 2. Found another issue with the repositioning of ingredients in a recipe. Dependent on the order that ingredients were added to a recipe, the order of a repositioned ingredient might not be saved. Found the issue and resolved. 3. The "Recipe Starter Kit" that is distributed with the installation contained duplicate ingredients. Removed the duplicate ingredients. Version 4.0.2.8 1. Added the total weight of all flavor ingredients to the results area of the recipe window. Version 4.0.2.9 There was an issue with column alignment on the recipe window for one of the calculators users. The values that were misaligned were values that Windows is supposed to automatically align based on the 'Anchor' parameters of the control. I could not replicate this problem nor find any conditions in the application that would cause the issue. To compensate for the problem I am having the application manually set the location of the columns that were being misaligned. Version 4.0.3.0 Added an option to specify how many total ML you want to use for an ingredient in a recipe. On the main recipe window right click one of the ingredients and then specify the amount of the ingredient, in ML, that you want the recipe to call for. Version 4.0.3.1 Increased the limits of the total ML that you can specify to use for an ingredient amount. Version 4.0.3.2 1. Made updates to the "Merge recipes window" to allow the recipe names to grow wider when the window is made wider. 2. Made a few other cosmetic changes in the "Merge recipes window". 3. There was an issue with column labels of a recipe aligning when a scrollbar for the ingredients was added. Fixed. 4. On the Ingredient editor window, added a display of the number of recipes that the ingredient is being used in. Version 4.0.3.3 1. When importing recipes from EJuiceMeUp, calculate the weight of the ingredients based on percentage of PG and VG. 2. Added a button on the "Ingredients" window labeled "Calulate weight based on PG/VG %". When clicked the weight of the ingredient will be caluclated base on PG/VG percentages. It assumed that PG weighs 1.036g, VG weighs 1.249g and anything else weighs 1g. Version 4.0.3.4 1. When running Windows with a text size of medium the "OK" button on the About window wasn't showing. Fixed. 2. When running Windows with a test size of medium the "Modify Recipe" window was not properly centering buttons. Fixed. 3. On the Options window, Presets tab, the window was being displayed with a white color. Fixed. 4. On the Search for recipes window the buttons weren't being properly centered when running Windows with a medium text size. Fixed. 5. On the manufacturer window buttons weren't being properly centered when running Windows with a medium text size. Fixed. 6. Buttons not centered correctly on the Print Labels Advanced windown when running with medium text size. Fixed. 7. Buttons not centered correctly on the Current Inventory window when running with medium text size. Fixed. 8. On the merge recipes window every keystroke was triggering a rebuild of the window. Fixed. 9. On occassion, Column headings were being misaligned on the main recipe window and the merge recipes window. Fixed. 10. When updating inventory by clicking the Inventory button on the main window, a check was added to see if you already adjusted the inventory for the same recipe and a message is displayed asking if you want to continue. Version 4.0.3.5 1. Combobox on the recipe form was overlaying other controls. Fixed. Version 4.0.3.6 1. When saving a merged recipe that new recipe was not being added to the recipe dropdown list on the main recipe window. Fixed. Version 4.0.3.7 1. Made changes to the modify recipe window to allow updates to the PG/VG percentage of a recipe. Version 4.0.3.8 1. Added a "Last made on" date to the main recipe window. Version 4.0.3.9 1. In some circumstances that changing of the PG/VG percentage in the modify recipe window was throwing an exception. Fixed. Version 4.0.4.0 When using the "Edit->Ingredient Editor" if a cell was modified and the "X" to close the window was invoked without first selecting another cell, the changed value of the cell was not being saved. Fixed. Version 4.0.4.1 When the purchase date was updated and the exit or save button was immediately clicked (without tabbing of clicking out of the purchase date field), the new date was not being saved. Fixed. Version 4.0.4.3 Add a context menu to allow the currently displayed recipe to be copied to the clipboard. Right click anywhere on the displayed recipe (except while in the notes or numeric up/down controls) and select "Copy recipe to clipboard". Version 4.0.4.4 Update to version 4.0.4.3, include the recipe name in the text that is copied to the clipboard. Version 5.0.0.0 1. Added a "Vendor" field to the ingredient window. 2. Added a button on the ingredient window to "Add ingredient to shopping list". 3. Added a "View->Shopping list" to the main recipe window. 4. From the shopping list window you can view the list of items in your shopping list, manually add items to your shopping list, add all ingredients that are below their inventory threshold to the shopping list, select ingredients from a list of all of your defined ingredients and add to the shopping list and delete items from your shopping list. Version 5.0.0.1 1. On the Tools->Options menu: If preferred mixing method of grams is checked, I make sure that the "Don't show grams" is unchecked. Same with the preferred mixing method of drops and "Don't show drops". 2. On the Tools->Options menu: If "Don't show grams" is checked, I make sure that the preferred mixing method is not grams. If it is grams, I change it to ML's. Same with the "Don't show drops". 3. Added a new label definition, DivBio CLTT-1000. 4. Added an option to backup your label definition files. See the "Tools->Options", "Backup options" tab. 5. Added an option to backup your "Options". See the "Tools->Options", "Backup options" tab. 6. Added a "File->Restore from backups" menu option. Version 5.0.0.2 1. Fixed the right-click context menu on the ingredient window to allow text to be pasted into the notes field. Version 5.0.0.3 1. Added the ability to export recipes and ingredients to Excel using Open XML (Open Office). Version 5.0.0.4 1. Made some changes to help prevent invalid (binary) characters from being placed into the notes section of the ingredients and the recipes. Invalid charactes in these sections will prevent the XML documents from opening. A copy and paste from an external application into the notes section could trigger this condition. 2. Add options in the right-click context menu on the main recipe window to copy the current recipe to the clipboard as HTML, HTML text and BBCode used on the ECF forum. 3. Other internal cleanup changes. Version 5.0.0.5 1. Added option in the right-click context menu on the main recipe window to copy the current recipe to the clipboard as Markdown using on reddit forum. 2. On the dilute nicotine window I added a checkbox indicating the inventory of the ingredients should be updated when the new nicotine ingredient is saved. The checkbox defaults to being checked (adjust inventory). 3. Changed the format of plain text when copied to the clipboard to be more consistant with the other formats being copied to the clipboard. 4. Added support for importing EJuiceMeUp V14.7 files with 10 ingredients. A special note to those of you who are reading this (you should share with your friends): You all need to be aware of a significant exposure that you may have using version 14.7 of EJuiceMeUp. When you save your recipe and designate what folder to store your recipe in a “.REC” file will be created in the directory. What you need to know is that the .REC file is only part of your recipe, NOT your entire recipe. V14.7 creates a second file called “.REC2” and places that file in the installation folder of EJuiceMeUp. The .REC2 file is the rest of your recipe. If you are making backup copies of your recipes you need to make sure that you are copying both files to your backup or you may end up with only part of your recipe. Also; if you are sharing your recipes and providing copies of the .REC file to a friend, they are only getting part of your recipe. What makes this even worse; Lets’ say that you send a .REC file to a friend (without the .REC2 file). Your friend opens the recipe using EJuiceMeUp. EJuiceMeUp will not generate any warning messages to tell your friend that they are missing part of the recipe. EJuiceMeUp will display the recipe giving the impression that the entire recipe is being shown. Make sure you take the appropriate steps to back up your entire recipe library (both files). Another side effect of the new structure: You create a recipe called “MyRecipe” and save it in “Folder1”. You create another recipe called “MyRecipe” and store it in “Folder2”. There will be only one “MyRecipe.REC2” file created in the EJuiceMeUp installation folder. This file will contain the second part of the last “MyRecipe” created and the second part of the first “MyRecipe” will be gone. When the first "MyRecipe" is opened a portion of the last "MyRecipe" will be merged with it giving a recipe that wasn't intended. Version 5.0.0.6 1. If the total flavor percentage of all flavor ingredients was 0 and the "Flavor %" button on the main recipe window was clicked, an exception was being thrown. Fixed. 2. Added the ability to define multiple PG and multiple VG entries. 3. Added the ability to create custom reports. This should be easy for those that are familiar with "Word Merge" and Word "MergeFields". See the document "CustomReportNotes.txt" on how to use this new feature. Version 5.0.0.7 1. Bug fix in the "Create custom reports" feature. If MS Word wasn't installed the .DOCX file was failing to open even if an Open Office alternative is installed. 2. In the manage ingredients window I added the average percentage that an ingredient is used in all recipes when displaying the total number of recipes that the ingredient is used in. 3. Added the ability to delete rows in the "Ingredient Editor" window. 4. There was an issue when using the ingredient editor; if you started to add a new row and then decided to "escape" out and cancel the add, the editor wasn't letting you exit the row. I resolved the issue in all of the conditions that I could replicate but I am still of the belief that I didn't catch all scenarios. Please let me know if you run into conditions where you cannot cancel out of adding a new row. Version 5.0.0.8 1. Added the ability to import Juice Grinder files. 2. Fixed an issue with importing EJC files V14.7. 3. Added support for importing weight values from EJC V15.1. 4. Allow the "Print labels advanced" window to remain open while working with the calculator. 5. Added an inventory amount column to the recipe window. 6. Added a new option (Tools->Options) on the "Ingredient defaults" tab called "Display Inventory Amounts". When checked, the inventory amount column will be displayed on the recipe window and recipes in the combobox of the main window will be displayed in RED if there is not enough inventory to accommodate the recipe. Version 6.0.0.0 1. Added the ability to categorize recipes and filter the recipe drop down list by a selected category. 2. Added an additional option in the context menu to copy text to the clipboard. "Copy recipe as plain text (basic recipe). Version 6.0.0.1 1. When a recipe was updated and a new/different PG or VG entry was associated with the recipe, the recipe (internally) would be associated with multiple PG/VG entries. Under certain circumstances this could cause invalid calculations for the amount of PG/VG to be added. Fixed. 2. When loading the Juice file the program will search for recipes with multiple PG/VG entries (results of the but described above) and remove all but one of the PG/VG entries from the recipe. 3. Added a new button on the main recipe window labeled "Add to shopping list". When clicked, a window will be opened showing all ingredients in the recipe. All checked ingredients will be added to the shopping list when the "OK" button is clicked. Any ingredients that are under their inventory threshhold will be automatically checked. Any ingredients that have a remaining inventory less than the amount required for the recipe will also be checked. Version 6.0.0.3 1. Add the ability to track history related to recipes. Currently print dates and updates to the "last made" date will be tracked. 2. Added a new option (Tools->Options) on the "Recipe Defaults" tab to update the "last made" date of the recipe when printed. 3. Added a menu item (View->Recipe history) to show the events discussed in item 1 above. 4. Made an attempt (I am new at developing for different regions) to use the "Region" settings of the PC to handle entering date for the recipe last made date and the ingredients purchase date. Feedback is welcome (needed). I would also like feedback where region settings need to be implemented for other values displayed. Version 6.0.0.4 1. Added the ability to add the diluted nicotines volume to an existing nicotine ingredient when saving in the "Tools->Dilute Nicotine" window. When the "Save" button is clicked, if the "new name" already exists you will be prompted to see if you want to merge the diluted nicotine volume to an existing ingredient. NOTE: After combining the diluted nicotine with an existing nicotine ingredient, nicotine levels, PG/VG levels, cost and grams/ml will be calculated to adjust for any differences between the two ingredients. 2. Added the ability to print the shopping list by adding a print button to the shopping list window. Version 6.0.0.5 1. When being saved the JuiceData file was always being recreated rather than being updated. Changed so that the file would be updated if it already exists. 2. Added a new option on the "Ingredient default" tab of the "Tools->Options" window. You can specify an increment value that will be used on the recipe window when changing an ingredients percentage. When the up/down arrows are clicked this value is used to update the value for the percentage. 3. Added the ability to create a "flavor base" recipe and to create an ingredient entry for the flavor base recipe. See the "Edit->Create flavor base from recipe" menu item. Version 6.0.0.6 1. When ingredients in a recipe were being changed using the ingredient dropdown list, the order of the ingredients displayed in the recipe would change. Fixed. 2. The PG/VG levels of the ingredient created via the create flavor base window was being calculated incorrectly. Fixed. 3. Added a new way to enter dates in the recipe's "Last made date" and the ingredients "Purchase date". You can enter dates as a valid date value or you can enter dates as: T (for today's date) Y (for yesterday's date) LW (for the date a week ago) LM (for the date a month ago) Followed by a "-" (minus sign) or a "+" (plus sign) followed by a number. For example T - 2 would be 2 days ago Y - 1 would be 2 days ago T - 51 would be 51 days ago etc... Version 6.0.0.7 1. Added the ability to filter your recipes by available inventory. On the main recipe window there is a checkbox for filtering by inventory. When checked, only recipes that have enough inventory of each ingredient will be displayed. Version 6.0.0.8 1. When the nicotine entry in an ingredient was updated the recipe would stop calculating the amount of nicotine to add to an ingredient. This bug was introduced in version 6.0.0.6. Fixed. Version 6.0.0.9 1. When selecting recipes in the "Edit->Search for recipes" window, the recipe would not be displayed in the main window if "Available inventory" was checked and the selected recipe in the search window did not have enough available ingredients. 2. When a new "Juice" file was created the PG and VG entries were being initialized to a 50% value instead of 100%. Fixed. Any files that were created will automatically be corrected when the file is opened by this version of the calculator. Version 6.0.1.0 1. Changed the default value of "Volume Calculation" to unchecked. All new installs of the calculator will start with this value in a false state. 2. Added a new option in the tools menu, "Tools->Display recipes". When selected a grid will be displayed with each row in the grid representing a recipe and values associated with the recipe. Cells can be selected and copied to an external applicaation. Right clicking on a column header will select all values in that column. Right clicking a row header will select all values in that row. Version 6.0.1.1 1. I added an internal change which I hope nobody will take advantage of. If an exception is thrown the calculator will create a text file that will aide me in troubleshooting the cause of the problem. A text file will be created and placed in the windows temporary directory. The name of the path/filename is (on windows 8): "C:\Users\YourUserName\AppData\Local\Temp\JuiceCalculatorCrash-MMDDYYYY_HHMMSS.txt". 2. Made a change to the shopping list so that vendors that you have used for previous shopping items will be remembered. The vendor is now a dropdown list however you are not forced to select a vendor in the list, you can type in another vendor. As you enter a vendors name a list of suggestions (previously entered vendors) will be displayed. Note that vendors that currently exist in the shopping list will not appear in the dropdown list. They will only appear after you have gone into the shopping list for the first time and closed the window. The next time you open the shopping list they should appear. 3. The same change as described above for the shopping list vendor was made for the "Ingredient" window. Vendors in the ingredient window will not appear in the dropdown list until an ingredient containing the vendor is displayed and the "Save" button is clicked. 4. When a recipe is printed the "Last made on" date will be included in the printout. Version 6.0.1.2 1. On the recipe window there are numeric up/down controls that allow you to click up/down arrows to increase/decrease the values. These controls are used for the "Amount to make", "Target nicotine level", "PG percentage", "VG percentage" and "Flavor percentages". I made a change that allows you to choose how the values are changed when you click the up/down arrows. In the "Tools->Options" there is a new tab called "Auto increment". In this tab you can choose what the values will be when you click the arrows. Note that you can always manually type a value, this change only effects the up/down arrows. 2. Added hot keys on the recipe window to allow printing (Ctrl-P), saving (Ctrl-S), deleting (Ctrl-D), add (Ctrl-A), new (Ctrl-N), flavor percentage (Ctrl-F), exit (Ctrl-X), rename (Ctrl-R), manage ingredients (Ctrl-I) and inventory (Ctrl-V). Version 6.0.1.3 1. Fixed a bug that was introduced with V6.0.1.2. The calculator would fail to launch for first time installers of the calculator. Version 6.0.1.5 1. Add the ability to add URLs in the notes section of the ingredients and to launch the URL when it is clicked. 2. When adding ingredients of type "Other" you can now optionally specify the PG/VG and nicotine levels for the ingredient. 3. When using the dropdown list to select an ingredient on the main recipe window a tooltip window will open and show notes associated with the ingredient. Either the first line of data in the notes (first line ending with a newline character) or the first 130 characters of the notes will be displayed. Version 6.0.2.0 1. Added an option (Tools->Options, Ingredient defaults tab, Display ingredient tooltips) to turn on/off the tooltips that are displayed in the ingredient dropdown list. 2. Added an auto-update feature that can be turned on or off in the "Tools->Options" General tab, "Check for updates when started". By default it is turned on. When the calculator is launched it will check to see if there are any updates available. If there are updates, you will get a message asking if you want to install or not. If you choose to install the update the installation won't start until you close the calculator. You can also manually check for updates by going to the "Help->Check for updates->Check online for updates". 3. Make a change to the auto-install. The auto-install will set the default installation directory to the directory that the calculator is currently installed in. This change should benefit the users that are using the Portable installation. Version 6.0.2.1 1. Nothing added to this version. Version was created to demo the auto-update feature. Version 6.0.2.2 1. Added the ability to edit the manufacturers from the ingredients window. New button added on the toolbar. 2. Added a new menu item "Edit->Adjust recipe to use all available inventory of at least one ingredient". This is useful in two circumstances, You receive a warning message that there is not enough remaining inventory to create a recipe or You have a small amount of an ingredient remaining and you want to use all of it in the recipe you are creating. Version 6.0.2.3 1. Updated the "About" window to reflect the website address. 2. Added a new menu item "Tools->Import recipes and ingredients from start kit". When selected a file will be downloaded with several recipes and ingredients and a window will be displayed giving you the option to import the recipes and ingredients into your juice file. Version 6.0.2.4 1. A bug was created in V6.0.2.3. An exception would be thrown when adding an ingredient in the ingredient editor. Fixed. Version 6.0.3.0 1. Added the ability to import Juice Grinder files in their latest format. 2. When importing from the recipe starter kit, sort the ingredients based on the current "View->Display ingredient/manufacturer setting. 3. Added the ability to collapse and expand the "Notes/Results/Warnings" area of the main recipe window. Version 6.0.3.1 1. Added the ability to print all recipes "File->Print All Recipes". Version 6.0.3.2 1. Added a new menu item "Edit->Adjust to max pg or vg". Version 6.0.3.3 1. Set the warnings title bar to red if their are any warnings that are present. Version 6.0.3.4 1. An exception was being thrown when "Print Preview" was selected. Fixed. 2. Updated so that the saved juice file does not contain the path. 3. Updated so that an exported juice file does not contain inventory or cost information. Version 6.0.3.5 1. An exception was being thrown when printing all recipes. Fixed. 2. Added a new import option "Tools->Import from Excel". The data must be in a specific format in the spreadsheet. There are two sub options in the "Import from Excel" menu option. The first is to "Create a template spreadsheet". This will open a workbook with the columns that should be provided when you are building the workbook that will be imported. The second option does the actual import after you have built the workbook. NOTE: This option will only work if you have MS Excel installed on your PC. 3. Added logic to prevent duplicate items from being added to the shopping list. 4. While importing all recipes from EJuiceMeUp an error message was being generated that the file was not in the expected format. Fixed. Version 6.0.3.6 1. Fixed the portable installation so that the "Tools->Import from Excel" will work. Version 6.0.3.7 1. Internal fix, closed and disposed of the stream if an exception is thrown while loading juice data file. 2. On the main recipe window changed the hot key for the inventory window from Ctrl-V to Alt-I. 3. Added some new options. On the "Tools->Options" window you will notice a new tab labeled "Mouse wheel". There are several checkboxes allowing you to disable the scrolling functionality of the mouse wheel. Version 6.0.3.8 1. Internal fix, I found a condition where selecting a new ingredient in a recipe was ignoring the selection and setting the ingredient amount to 0 even after changing the percentage. 2. Added a button on the "View->Current inventory" window to allow the selected ingredient to be added to the shopping list. 3. On some PC's the "Mouse wheel" options added in 6.0.3.7 wasn't working properly. Fixed. Version 7.0.0.0 1. When copying a recipe and creating a new recipe the "Category" value was not being copied to the new recipe. Fixed. 2. Renamed the Category label on the ingredient window to Folder. 3. Added a new option, Tools->Options" Recipe defaults tab, "Reduce inventory when printed". When checked, the inventory for each ingredient will be reduced when the recipe is printed. 4. Made a change to remember the size of the shopping list window and when the window is reopened the previous size will be restored. 5. When ingredients are being removed from the shopping list you will be prompted to see if you want to add the quantity amount to the inventory for the ingredient being removed. NOTE1: This will only apply to ingredients added to the shopping list after installing this version of the calculator. NOTE2: The inventory for the ingredient will not be adjusted if the ingredient was deleted from the juice file after it was added to the shopping list. NOTE3: The inventory for the ingredient will not be adjusted if a different juice file is open and it does not include the ingredient in the shopping list. 6. I added the ability to encrypt you juice files. When you do a "File->Save As" you will notice a new "Save as type". There is a type of “Encrypted xml files (*.xmlEnc)”. If you select this file type you will be prompted for a password. The password will be required everytime you open the file. Note that the calculator does not remember nor does it store the password that you enter. If you lose the password the calculator cannot help you restore the file. 7. Added the ability to remove vendors. On the mainform "Edit->Edit vendors", from the shopping list form click the "Edit vendors". 8. Added support for regional currency settings. Version 7.0.0.1 1. The "Last made on" date was not being updated when a recipe was printed and the option was set to update the value. Also, the inventory was being reduced for the recipe when it is printed however the inventory display on the recipe window was not being updated. Fixed. 2. Internal fix - Make sure the main window is never positioned off of the screen when launched. 3. Provided the option to print the "Last made on" date when printing labels. Version 7.0.0.2 1. In the "Cost" area of the ingredient window I added a dropdown to select MLs, Liters, Ounces, etc... When the "Add to inventory" button is clicked, the volume entered will be converted to MLs before adding the amount to the total inventory for the ingredient. 2. Under certain conditions the "Tools->Modify existing recipe" would throw and exception when launched. Fixed. 3. Made the "Create flavor base" window a sizable window. 4. The "Create flavor base" wasn't functioning properly when run on a MAC using an emulator. I did a slight restructure of the program to avoid the problem that was occurring. I am awaiting feedback from the user to see if the problem was resolved (I am unable to test on a MAC). Version 7.0.0.3 1. When an inventory volume of other than MLs was selected the cost/ml was not being calculated correctly. Fixed. 2. Changed the minimum size of the main recipe window to a smaller number to allow the window to be made smaller on lower resolution screens. 3. A warning message was being generated for recipes when the amount of any ingredient being added to a recipe was 0 ml. I was interpreting this as an invalid cost/ml value. Fixed. Version 7.0.0.4 1. Added an option, Tools->Import from text file, geared to import recipes from the e-liquid.com website. Before using see the option "Tools->Import from text file->Read this first". 2. The mouse wheel, regardless of the options, was allowing the recipe category to scroll. Fixed. 3. The mouse wheel, regardless of the options, was allowing the ingredient name, manufacturer and folder name to scroll. Fixed. 4. Add the ability to lock down a recipe from accidental changes. This can be set in "Tools->Options", Recipe defaults and checking the "Lock ingredients to prevent accidental changes". When set, click the lock/unlock icon to change the lock. Version 7.0.0.5 1. When importing from a text file add the URL to the notes field if it exists. 2. Added the ability to import text by pasting the text to import into a form. You can optionally add the ingredients to your shopping list. 3. When displaying the current inventory the "Alarm Value" was not showing a proper value when the ingredient threshold was set to 0. Fixed. 4. Added a "Storage location" field to the ingredients window. 5. Added a new menu item "View->Display Ingredient/Manufacturer as->DisplayIngredient location with name". If checked, the ingredient location will always be appended to the name of the ingredient when it is displayed. It will be displayed as "Ingredient name (ingredient location)". Version 7.0.0.6 1. When importing from a text file with the "Add imported ingredients to shopping list" checked, don't add the ingredient unless the inventory is zero or below its threshold. 2. On the main recipe window I added an "Add ingredient to shopping list" menu item to the menu when an ingredient is right-clicked. 3. When importing a recipe from a text file or copy/paste set the nicotine ingredient to the first defined nicotine ingredient entry rather than leaving it empty. 4. Made a change to the "Save" processing in the ingredient window. Prior to the change the save button would save the ingredient changes from the values in the window and apply the changes to the effected ingredient and all recipes referencing the ingredient. With the change the changes will also be saved back to the juice file. Version 7.0.0.7 1. When searching for recipes (Edit->Search for recipes) added a checkbox to find recipes that contain one or more of the selected ingredients. If a recipe contains an ingredient not included in the ingredients being search for the recipe will not be displayed. 2. Renaming a recipe with the same name using different case (lower or upper) was not being allowed and being detected as a duplicate recipe name. Fixed. 3. There was a bug related to “Last made” recipe history entries. The bug was triggering erroneous “last made” entries to be created and triggering duplicate “last made” entries. The bug has been resolved and all duplicate entries will automatically be removed however; You may have recipes that have a “last made” with a date that is invalid (not made on that date). Unfortunately there is not a way for the program to know if the entry is valid or not and those erroneous entries cannot be removed. Version 7.0.0.8 1. Version 7.0.0.7 was throwing an exception when creating a new recipe. Fixed. Version 7.0.0.9 1. Add a new option, Tools->Options, Ingredient Defaults, "Lock ingredients window". When the ingredients window is open all fields are locked until the "lock" is clicked to unlock them. 2. When displaying current inventory any ingredients marked as "deactivated" will not be shown. 3. Added the ability to assign alias values to manufacturers in the "Edit->Maintain manufacturer list". The aliases are then use when importing recipes to attempt to resolve manufacturer names. If a provided alias is found as the first or last part of an ingredient name it will be assigned to the associated manufacturer. Version 7.0.1.0 1. Added a new Simple Calculator, "Tools->SimpleCalculators->Determine nicotine and PG/VG levels after mixing several liquids". The calculator will also allow you to alter the nicotine level of the combined liquids by providing the nicotine level of a base and a new desired nicotine level. Version 7.0.1.1 1. When an ingredient is right-clicked on the main recipe window there is a new menu item, View/Update ingredient. Selecting the item will open the manage ingredients window with the ingredient selected. 2. Internal change, upgraded the development environment from VS2012 to VS2015.1. 3. Added a button on the current inventory window to allow the inventory to be filtered to show only the ingredients that you have in stock. 4. Added a button on the menu strip of the main window to launch the current inventory window. 5. Added some additional edits when importing ingredients from Excel. This will prevent exceptions from being thrown when erroneous values are attempted to be imported. Version 7.0.1.2 1. On the ingredients window I added a dropdown list showing the recipes that an ingredient is being used in. Version 7.0.1.3 1. Increased the maximum amount of nicotine, mg level, on the Modify Recipe window from 100 to 1000. 2. Increased the maximum amount of nicotine, mg level, on all of the Simple Calculator windows. 3. Added a "Make recipe" button on the mainform. When clicked the "Last made on" date will be updated and the inventory for all ingredients in the recipe will be reduced. Version 7.0.1.4 1. When clicking the "Make recipe" button the inventory amounts displayed in the selected recipe were not being updated on the window. Fixed. 2. When clicking the "Make recipe" button the inventory alarm thresholds were not being checked and displaying any inventory alarms. Fixed. 3. In the Tools->Options, Ingredient defaults, add a default alarm threshold. Version 7.0.1.5 1. An exception was being thrown when creating a flavor base from a recipe with no flavor ingredients included in the recipe. 2. The "File->Print Label" option was not using the date format specified in the "Tools->Options" Print defaults tab. Updated to use the specified option. Version 7.0.1.6 1. Labels were not formatting properly using label printers. Changes were made to improve the formatting. This change will also have a small affect when printing Avery using more standard printers. Along with this change a "Dymo 30330" paper type was added. 2. Added the ability to Find/Replace PG and VG ingredients in the "Find and replace ingredients" menu. Version 7.0.1.7 1. Bug fix, the set recipe to max PG/VG wasn't always setting the correct level and the function would have to be invoked more than once if a recipe contained ingredients that had no PG or VG. Fixed. 2. Added the ability to define hotkeys in the recipe window and ingredient window. Go to "Tools->Hot key options". The hot keys currently being used by the calculator are already defined but they can be removed and replaced. 3. Added the "Location" field to the ingredient editor window. 4. Increased the width of the ingredient name dropdown list on the ingredient window. Version 7.0.1.8 1. Updated the advanced label designer to allow the PG/VG and Nicotine level to be printed on different lines. 2. Updated the advanced label designer adding a checkbox to allow the font to be adjusted to auto-fit the text on the line. If unchecked the text will be truncated if to large to fit on the line with the selected font. Version 7.0.1.9 1. Added some additional print options for printing labels, Tools->Options, "Print defaults tab", Advanced label printing defaults. You can specify the printer to use, the paper type to use and the label definition to use. Note that you must define your label definition using the "File->Print label advanced" window. 2. Added a new button on the main recipe window called "Print label" which uses the values specified in the options and will print the label for the recipe that you are viewing. 3. You can also assign a hot key to the print label function by using "Tools->Hot key options", Window=Recipe window, Function=Print label button using default values, and assigning a key to use as the hot key. 4. Added a checkbox on the "Print label advanced" window. When checked it will use the default printer defined in the options when printing the label. 5. Added a new paper type, Brother TZe-251. Version 7.0.2.0 1. Resolved an issue with the report generator adding extra lines to the printouts. Version 7.0.2.2 1. Adding recipe ingredients to the shopping list was working incorrectly. Fixed. 2. The last made date was not printing when selected in the label printer. Fixed. 3. Added a new paper type, Brother TZe-241. For the label printing. Version 7.0.2.3 1. Added an "Unassigned" value to the "Recipe category" dropdown. This will filter and only show recipes that have not been assigned to a category. 2. When using the arrow keys in the notes area of the recipe window and the ingredient window the window would beep when you tried to move the cursor beyond the area of the entered text. The beeping was turned off. 3. The recipe dropdown on the main window will now auto-size when the window is made wider. 4. The notes area on the ingredient window was made wider and a little taller. 5. When viewing the shopping list and adding ingredients an erroneous message was being displayed stating that the ingredient was already in the shopping list. Fixed. Version 8.0.0.0 1. When viewing the shopping list the "per ml" cost of an ingredient was being rounded to the nearest cent causing the total calculation to not total the original purchase price. This was fixed however there is a small side effect. If an ingredient cost is something such as 0.199 the amount displayed in the shopping list will be 0.20. When the total cost is calculated it might appear that the total cost is being calculated incorrectly (0.199 * X instead of 0.20 * X). 2. When clicking on the "Adjust inventory" button for a recipe you will have the option to select which ingredients that you want to adjust. 3. Added the ability to track steeping time of recipes: - Added "View->Steeping recipes" to display/remove all recipes being steeped. - Added a "Days to steep" on the main recipe window. When not 0 the steeping time will be tracked for the recipe. This value will also be saved and remain associated with the recipe. - In "Tools->options", Recipe defaults, added a "Generate steeping complete message" option. When checked a message will be generated when the program is launched if the steeping has been completed for any recipes. Version 8.0.0.1 1. Added the ability to set a hotkey to trigger the viewed recipe to be added to the steeping recipes list. 2. The steeping days remaining wasn't being calculated correctly. Fixed. This would also prevent "steeping complete" alarms from being generated which will be fixed. 3. Added a new option in the Tools->Options, Recipe defaults tab, "Add recipe to steeping recipe list when printed". 4. Added a new option in the Tools->Options, Ingredient defaults tab, "Show inventory alarm when started". By default inventory alarms will not be generated when the application is launched. 5. On the "Adjust inventory" window, when the "Adjust inventory for all ingredients" is unchecked, the checkboxes next to each of the ingredients will NOT be unchecked automatically. 6. On the "Print label advanced" window added 3 checkboxes; Reduce ingredient inventory Add recipes to steeping list Update last made date 7. When the notes are in a detached window at startup they were being incorrectly sized when placed back into the original window. Fixed. 8. The calculator will remember the size/position for most/all of the windows (47 windows). 9. Allow the tab character to be used in the notes field of recipes and ingredients. 10. When pasting "Text only" any rich text formatting will be removed. Note that Ctrl-V will continue to paste formatting characters. 11. In the filter by category dropdown, the categories are sorted in alphabetical order. Version 8.0.0.2 1. Improved upon the accuracy to see if a window is visable on the desktop. Window positioning will be restored even if the window is partially off of a screen. 2. On occasion, after exiting the print labels window, an exception was being thrown. Fixed. 3. On the manage labels window I added a split container allowing the presentation area for the label definitions and the display of the sample label to be sized and scrolled. 4. When copying a recipe the new recipe's create date will be set to the current date/time. 5. When using the auto-increment values an exception would be thrown under certain conditions. Fixed. Version 8.0.0.3 1. Added the ability to set the auto increment values individually for the 'Amount to make', 'Targe nicotine', 'PG %', 'VG %' and 'Flavor %'. This is set on the 'Auto Increment' tab of Tools->Options. Disabled the ability to set 'Increment value' on the 'Ingredient defaults' tab. 2. Added a minimum and maximum value to the 'Auto Increment' tab. These values are used to set the limits of when the 'Preset Increment Values' will be used. Click the "See explanation of values" button to see more details on how the auto increment and preset values are used. 3. When ingredient weight is calculated, also consider the weight of the nicotine level. When saving the ingredient generate a warning message if the weight provided is off by more than 0.001 grams. 4. Added a new option, Tools->Options, Ingredient defaults, "Show weight warning messages". When checked the weight checking in item 3 will be performed. 5. Added a new option, Tools->Options, Backup Options, "Auto delete backups older than X days". When provided all backup files older than x number of days will be deleted when the calculator is closed. Note that the last/only backup will never be deleted. 6. When the ingredient window is locked added the ability to see the recipes that the ingredient is being used in. 7. Under certain circumstances deleting a flavor ingredient would change an ingredient in the recipe being viewed. 8. The Print labels advanced window will remember the last used checkbox settings and restore them the next time the window is opened. Version 8.0.0.4 1. An exception was being thrown when going into Tools->Options. The exception was being thrown when the calculator was asking Windows about all installed printers. I don't know the circumstances of Windows throwing the exception but I made an update to catch and ignore the error. 2. Added the ability to right-click an ingredient in a recipe and select "Find/replace ingredient". 3. Allow the Tools->Options, Preset values to be set to 2 decimal places matching the size of the values in a recipe. 4. Fix a bug with the auto increment change from 8.0.0.3. The values were being incremented when the ingredient was locked. 5. Added the ability to generate custom reports (text files) for ingredients and recipes included in your juice file. Select "Tools->Build/Generate custom reports". Version 8.0.0.5 1. Added a calculator for determining how much nicotine to stockpile and/or determine how long your nicotine will last. Tools->How much nicotine do I need. 2. Added a 2nd Manufacturer name column and folder name column. These columns are readonly and replicate the values that are showing in the original column which is a dropdown list. These columns were added to enable the ability to sort the grid by manufacturer or folder. 3. Added the ability to search all ingredients for a value in the "Edit->Ingredient editor" window. 4. Added a checkbox on the "Search for Recipes" window indicating that only recipes with enough inventory should be displayed in the results. 5. Added a checkbox on the "Search for Recipes" window indicating that only ingredients that are in inventory should be listed in the search box. 6. Window placement and sizes were not being remembered after installation of new versions. Fixed. 7. When creating a flavor base, Edit->Create flavor base from recipe, when both a flavor base recipe and a flavor base ingredient is created you will be prompted to see if you want to associate the recipe with the ingredient. When an ingredient and recipe are associated, the ingredients inventory will be increased whenever the inventory for the recipe is adjusted. Also, when the base recipe is displayed on the main window and the mouse is placed over the recipe name, the associated base ingredient name will be displayed. 8. Added the post made by IDJoel as a help file available on the "Create flavor base window". Click the "Show instructional notes" button. Version 8.0.0.6 1. When installing the standard version of the calculator, don't prompt for a new installation location. The prompt was misleading and for the most part accomplished nothing since Windows would still install in the Program Files directory. The portable installation is used for installing in different locations. 2. Ingredients on the recipe window that have notes associated with them will display an information icon. When the mouse is over the icon a tooltip will be displayed showing the notes. 3. Added a shortcut for entering the purchase date on the ingredient window (also the last made date on the recipe window). You can enter the following values and when you leave the date field the date will be populated: T = Today's date Y = Yesterday's date "T-nnn" where nnn is the number of days to subtract from today's date LW = Last week (today minus 7 days) LM = Last month (today minus 1 month) 4. This change was made to help new users: When a new juice file is created and there are no nicotine ingredients a new user may struggle figuring out how to add a new nicotine ingredient. If you have a juice file open with no nicotine ingredients and have created or selected a recipe, the nicotine ingredient will show a button on the recipe window allowing you to click it to create your first nicotine ingredient. 5. Updated the "Show instructional notes" help file with a post from Andre in the ecigsSA forum. 6. On the label definition window changed the number of decimal places displayed from 2 to 4. 7. Made a new field available for "Ingredient" type reports in the "Tools->Build/Generate custom report" window. You can now define a column with a value of {RecipeCount}. This will display how many recipes an ingredient is used in. Version 8.0.0.7 1. On the "Build/Generate custom report" window, define column data; added the option to double click an item listed in "Field values" and have it automatically added to the "Column data" with the appropriate {}'s. 2. Made the information icon for the ingredients smaller. 3. The previous change allowing shortcuts for the date fields did not have international date format support. Fixed. 4. The Build/Generate custom report was not picking up the date the recipe was last made value and always showing blanks. Fixed. 5. Added the ability to sort the shopping list by the columns displayed. Click on the column header to sort. 6. Added the ability to display the recipes in order of last made date. 7. On occasion when clicking the "Flavor %" button an exception was being thrown. This would usually happen when adjusting the flavor percentage for a "flavor base" recipe. Fixed. Version 8.0.0.8 1. Changing the sort order of recipes was only working from "Tools->Options" and not working from "View->Sort recipes". Fixed.