CuttingBoard News

CuttingBoard v0.46.1 Release

Oct 19, 2024

  1. New features and usability
    • Vast majority of edit panel combo boxes, both standalone and table-cell-embedded, are now dynamically updated when other, concurrently-active, managed object edit panels save their data.
    • A meal's serving may now be a food (new capability) or a recipe (previous capability).
  2. Bug and annoyance fixes
    • In Preferences.xml, DatabaseCachePercent value (of JVM heap) increased to 75% to improve database transaction speed (upgraders should manually set this value).
    • Can now parse up to 4-word keyword (foods, attributes) in ingredient text and parser is greedy (no longer lazy).
    • Digraph timer stopped upon graph panel close.
    • Application status label added to main CuttingBoard panel for explicit initialization and regeneration in-progress notification to user.
    • Corrected energy calculation (kJ and KCAL) shown in All-Factored and Yield columns of Nutrition Construction panel (values were too high: KJ by 29 / KCAL by 6).
    • Food nutrition saved from Nutrition Construction panel now populates more nutrients in common area (from specific area) of Nutrition Facts panel (to mimic recipe logic).
  3. Maintainability and support enhancements
    • Refactored Recipe / Food class members into an Edible member to simplify / despaghettify handling logic.
    • Revamped static class map document.

CuttingBoard v0.46.0 Release

Sep 11, 2024

  1. New features and usability
    • Ability to webscrape recipes from those web sites that implement the Schema.org/Recipe type.
    • Added many conversion profiles.
  2. Bug and annoyance fixes
    • Several nits swatted.
  3. Maintainability and support enhancements
    • Added properties: Recipe:mixTime to DB and XML, Foods:cpName to XML (XML version 6). Requires regeneration if updating.

CuttingBoard v0.45.0 Release

Jul 11, 2024

  1. New features and usability
    • Added retention factor and yield factor selection (via new Cooking Reference panel) that may be used during nutrition construction to adjust nutrient amounts given any preparation/cooking method(s) that are applied to the selected edibles. New capability forces a Regeneration Required! update.
    • Nutrition Facts panel extended to show saved nutrition for foods (including capability to scale for desired amount).
  2. Bug and annoyance fixes
    • Filter out usage of those embedded SI/NonSI units that are not relevant to food (e.g. "a dash of cinnamon" no longer results in unit "a", area, usage).
    • When a previous column in the Nutrition Construction panel is selected, its previously-selected unit is now properly displayed (the correctness of the nutrition calculation was unaffected).
    • Fixed food column display issues in the Nutrition Construction panel when a recipe ingredient was processed out of order (or replaced) by user.
    • In datafill file, nutrients.xml, "Sugars, Total NLEA" -> "Sugars, Total" to resolve some matching ambiguity internal to the application.
    • When active Nutrition Facts panel is updated due to a recipe change (e.g. a nutrition change was saved), the text was overwritten without being first cleared. That garbled text is fixed.
  3. Maintainability and support enhancements
    • Minor import/export/update changes including, to keep the UI responsive, update logic that now is processed as a runnable on a separate thread.

CuttingBoard v0.44.4 Release

Jan 31, 2024

  1. New features and usability
    • Added food substitutes (forces Regeneration Required!).
    • Added Attribute tagging for Amount and Portions allowing description of food state for given measurement.
  2. Bug and annoyance fixes
    • Graph correctly launches full (not abbreviated) Food and FoodUnit edit panels when primary-mouse-button double-clicked.
    • Nutrient data schema name changes: a) "Sugars, total including NLEA" (in the FDC spec) can be received as "Total Sugars" (via REST API), b) PUFA 2:5 n-3 (EPA) to PUFA 20:5 n-3 (EPA).
    • Conversion profile manipulation now available only from conversion profile panel (food panel shows read-only content of any applicable conversion profile).
    • FoodUnit abbreviation, alternateName, and varieties combo boxes restored as editable.
    • Total calories shown in Meal panels and in Calendar's nutrition tally panel now recognizes Atwater Energy calories from FDC data source (to match total calories shown in nutrition facts panel).
    • Meal, once saved, left meal panel up (had to bring down panel and re-enter).
    • And many more...
  3. Maintainability and support enhancements
    • Replaced "<!ELEMENT amount (name,quantity)>" with "<!ELEMENT amount (quantity, unitName)>" for ConversionProfile XML schema.
    • Application-internal refactoring.
    • Expanded integration test suite.

CuttingBoard v0.44.3 Release

Oct 31, 2023

  1. New features and usability
    • No new features.
  2. Bug and annoyance fixes
    • Improved unit combo box operation during nutrition construction.
  3. Maintainability and support enhancements
    • Multiple refactored areas (forces Regeneration Required!).

CuttingBoard v0.44.2 Release

Oct 25, 2024

  1. New features and usability
    • No new features.
  2. Bug and annoyance fixes
    • Reverted one problematic package to its previous, working version (latest version inhibited completion of food selection in nutrition construction in v0.44.1).
  3. Maintainability and support enhancements
    • Finished dependency upgrade (to latest packages).

CuttingBoard v0.44.1 Release

Oct 24, 2024

  1. New features and usability
    • The Nutrition Tally Panel now supports selected sets of meals aggregated over a week or a month (in addition to all meals aggregated over a week or a month when an aggregate calendar entry is selected).
    • The Nutrition Tally Panel lists all meals included in the tally (for easy identification when multiple tally panels are simultaneously displayed).
  2. Bug and annoyance fixes
    • In the calendar, a meal entry's "start's on" date in the recurrence pop-up shows correct date rather than the current date. The meal entry's "ends-on" date properly terminates recurrence.
    • Improved meal import when calendar is active: a) Meal.getAggregatedNutritionForDaysMeals now uses NutritionSummaryData rather than Nutrition to avoid unnecessary DB operations, b) meal XML import logic now uses start/stopBatchUpdates to avoid DB deadlock exceptions that were happening under the hood upon many-meal import.
    • The aggregate nutrition context menu now always presents in week and month calendar views without first having to access a day view with meals defined. Also added single meal entry menu items for context menu in week and month calendar views.
  3. Maintainability and support enhancements
    • Numerous internal improvements and refactorings.
    • recurrenceEnd removed from meal XML (now at XML version 4)
    • Updated source tree module path to move core managed object classes under a new model directory (requires a database "Regeneration Required!" upon update due to path change for DB-stored serializers).

CuttingBoard v0.44.0 Release

Oct 9, 2024

  1. New features and usability
    • Multiple, simultaneous edit sessions now allowed for a given managed object type: recipes, meals, conversion / nutrition profiles, keywords.
    • Upon application exit, no further "save or discard?" prompts for unfinished managed object edit sessions (unsaved edits are discarded); however, nutrition construction panel still retains the prompt.
  2. Bug and annoyance fixes
    • Fixed exception upon recipe save with new Custom keyword.
    • Fixed IllegalArgumentException upon FoodUnit save with invalid character(s).
    • Updated TextAreas (e.g. Recipe: description, instructions, modifications, notes, Nutrient: comment) to support easier user formatting.
    • Suppress display of the meal entry's scheduling pop-over upon creation.
    • Recipe validity check more stringent -- you may wish to "tools > export all" to save current data (especially recipes) before attempting an upgrade (which will result in a "Regeneration Required!" action). Hint: before upgrading, ensure recipe yield and serving size unit compatibility!
    • When aggregating food products during nutrition construction, each selected food product is automatically saved to the database only if (and when) an aggregated recipe is saved.

CuttingBoard v0.43.1 Release

Aug 30, 2024

  1. New features and usability
    • Within meals panel, added a View Nutrition Tally context menu option to show aggregated nutrition for any number of meals selected in the table
  2. Bug fixes and maintenance
    • Better compatible unit selection for ingredient amounts during nutrition construction (i.e. fewer unit conversion inadequacy alerts and "wildcard" unit matches)
    • The recipe card panel's bring-to-front action, as initiated via the view menu item, no longer resets any customization previously made in that panel (i.e. now works the same as selecting that that panel)
    • A panel's update in response to a recipe change (e.g. NutritionFacts, NutritionTally) no longer has repeated % Daily Value text for the fat through protein summary section
    • Fixed preferences exception when a user population value is changed and saved

CuttingBoard v0.43.0 Release

Aug 23, 2024

  1. New features and usability
    • All application panels spawn on screen hosting main CuttingBoard application window (refactored panel and dialog creation methods)
    • Added integration tests for conversion profile, nutrition profile, recipe, and meal
    • Partitioned preparation time column (in recipe tables) into quantity and unit sub-columns to facilitate column sort
  2. Bug fixes and maintenance
    • Removed some groups in NutrientReference.xml that had duplicate names of nutrients in Nutrients.xml for a cleaner hierarchy
    • FDC API Key provided at first use of Nutrition Construction is now automatically flushed to preferences.xml file without having to enter key via preferences panel for persistence
    • More completed user actions now posted in application status window (e.g. deletions)

CuttingBoard v0.42.11 Release

Jul 26, 2024

  1. Bug fixes and maintenance
    • Fixed faulty application log4j2.xml configuration that could result in loss of various files installed to the application's executable directory
    • Updated CuttingBoard.Desktop (linux) to register and run from application menu
    • Updated linux sh scripts (esp to get rid of ^M via revamped assembly plug-in XML)
    • Moved initial "wait for it" status post to allow display in status window
    • WebView running again on linux
  2. Revamped logging
    • log4j2.xml managed by application to force log directory under application's data directory after initial boot
    • Unit and integration tests now have separate log files per test for easier debugging
    • RollingRandomAccessFileAppender replaces RollingFileAppender
  3. Refactoring for Supportability
    • New ProvisionIf pulls all static member/methods from Provision
    • All Utility methods made static
    • Added validation check for preference options: move artifact directory and remove database
    • Add multiple fixes to make bootable on linux again

CuttingBoard v0.42.10 Release

Jul 11, 2024

  1. Break-out of Nutrient and FoodUnit keywords into a separate tree-view panel with associated property grid
    • Allows quick hierarchical view and collapse / expand options
    • Allows quick search (search box)
    • Added updated Nutrient descriptions and new FoodUnit categories
  2. Bug fixes
    • No longer get null reference error upon save of typed-in, new recipes when partial set of Preperation/Passive/Cooking times are entered
    • Regeneration required update logic now works when no recipe or meal exists at time of update
  3. Updates
    • Nutrient data for 2024-04 FDC data schema release
    • Nutrition Facts panel calorie calculation now sums both Energy (KCAL) and Energy (Atwater Specific) since they seem to be mutually exclusive per recipe ingredient
    • XML: swapped nutrient alternate/comment tags order, systematicName -> systemName, added category to FoodUnit
  4. Usability
    • Reformatted Statistics panel (OS-common fixed font, concise re-format, better definition)
    • Updated documentation for new TreeView panel

CuttingBoard v0.42.9 Release

May 19, 2024

  1. Updated application status area: timestamp and level reformated, color highlighting for only level (no longer area background)
  2. UI console activity logs working
  3. GRMT imports working

CuttingBoard v0.42.8 Release

April 14, 2024

  1. Upgrade Note: The new executable will not work with a previous installation's database due to a major database schema change. If updating from a previous installation to this release, please perform a manual database regeneration (as documented via the User's Manual) to preserve application functionality and your existing data.
  2. Updated embedded help and web site (online) help for:
    • Separate data sources section that lists nutrient Dietary Reference Intake (DRI) references,
    • Added information in Dietary Reference Panel section (for displayed reference data format) and a new Database Regeneration section.
  3. Updated Food and Nutrition Profile panel:
    • Assigned nutrients now saved with FDC case retained for the descriptor (improves daily value lookup).
  4. Updated Nutrition Facts panel:
    • When nutrition manually defined via Food (or Nutrition Profile) panel, ensure storage in alphabetical order per nutrient descriptor for expected display order in Nutrition Facts panel.
  5. Updated Food panel:
    • Ensure single set of items for category and attribute combo box after each Food save.
  6. Updated DietaryReference panel:
    • Refactored database schema and XML structure (and bumped XML version to 2 for all XML files) to:
      • update macro nutrients tab to include latest DRI data (incl AMDR),
      • add amino acids tab/XML.
    • Added configurable weight preference setting to calculate applicable daily values for select amino acids,
    • Relocated sources to a new footnote section at bottom of panel (supports expanded number of sources).
  7. Updated nutrition panes of following panels: NutritionFactsLabel, calendar's NutritionTally (show average for ...), calendar meal (show nutrition):
    • To highlight daily value percent for lower / upper limit color coding.
  8. Updated application's update logic:
    • Added a message tag to web site's Update.xml to present a release's optional user text (allows for individualized server commands and user salutations),
    • Updated application logic to process that message tag text and act upon embedded server commands.
  9. Added a server-originated regeneration capability that executes at the client during an application update when the database schema has changed for the new application version.
    • Server direction is a new preference that is enabled by default and allows devops personnel to force certain upgrade behavior during a client's update (e.g. to force a database regeneration). It may be disabled by the user via the preferences panel when the user wishes to manually enact any migration necessary to support an application update. The capability only becomes active once this release is installed.
    • Implemented a server-originated "Regeneration Required!" command (placed at the beginning of an update's user message tag on the server). When server direction is enabled and the command is detected during a check for an update, it is enacted at the client automatically (during upgrade with the downloaded update), via the following sequence:
      1. an XML export of all user data from the existing database occurs,
      2. a new database (with its new schema) is generated, and
      3. an XML import of the user's data occurs.
    • This process may take many minutes to complete if large amounts of user data exist.
    • The goal is a database with an improved data schema and a lossless migration of the user's pre-existing data without (ahem) the typical user interaction (and distress). Fingers crossed. mate.
  10. Internal application maintenance:
    • Updated java package versions (esp., JanusGraph to a 1.0 RC).
    • Updated common XML logic:
      • XML DTDs are created upon first export rather than upon application boot,
      • Some traces added for common import events: start, end, duplicate detected, ...
    • Updated singleton implementation for those classes that don't have their singleton stored in the database.

CuttingBoard v0.42.7 Release

February 03, 2024

  1. Updated XML export function:
    1. to allow a user-selected set of recipes and meals to be exported as a group into a user-specified file.
  2. Updated meal function:
    1. to also allow meal searches to be bounded by user-specified start / end dates.
  3. Updated popup of meal / aggregate entry in calendar function:
    1. to add a maximum height with vertical scroll bar when needed (to ensure nutrition for aggregate (and meal) entries do not go off page when too many nutrients).
    2. to indicate when nutrient amounts in aggregate meal entry represent only partial summations for the number of meals in that day.
  4. Updated meal / aggregate entry context menu function in calendar:
    1. to replace minutia menu item with separate menu items for edit schedule, view servings, and view nutrition (and automatically open up relevant portion of pop-up).
    2. to appear in week day view and month view of calendar (akin to current functionality in day view) providing a daily nutrition tally panel for options: for selected, for week, for month.
  5. Completed switchover to new searchable combo box implementation (especially for table-embedded combo boxes)
  6. The usual smattering of bug fixes

CuttingBoard v0.42.6 Release

January 15, 2024

  1. Updated handling of singular / plural word forms:
    • Inflector rule for clove <-> cloves, and
    • Save only singular form of unit name in Amount to support matching (for combo box content, conversion profile lookup).
  2. Updated application status text area to scroll to bottom of newly appended text.
  3. Application now remembers last user-selected directory that was imported-from (exported-to) and reuses as starting point for next import (export).
  4. Updated nutrition construction panel logic:
    • to issue user confirmation alert to allow user option of saving nutrition when an ingredient's unit doesn't precisely match the retrieved nutrition unit for that ingredient.
    • to now parse the update log section of a nutrition response to allow for a prior product version query (for its nutrition data record) when the current record has no nutrients (for branded datatype food products),
    • to perform auto-creation of FoodUnit to support any custom portion unit received in the household serving API field of a nutrition response (for branded datatype food products).
  5. Updated food query panel results to now show food category (to aid in selection of a applicable product).
  6. A new conversion profile is automatically linked to a food upon profile save when profile name matches that food name. A new nutrition profile's nutrition is automatically copied to a food upon profile save when profile name matches that food name.
  7. Most application combo boxes (drop-downs) are now searchable (character sequence filterable), and allow keyboard-only manipulation, and support easier usage.

CuttingBoard v0.42.5 Release

December 19, 2022

  1. Updated package versions in POM
  2. Calendar meal bug fixes for:
    • Exceptions when concurrent meal edits performed at both calendar and meal panels
    • Enforce a 1 hour duration to mitigate meal entry time shifts
    • Beautify minutia serving data
    • Remove extraneous ZoneIds from dropdown
    • Robustness for start/end time/recurrence GUI changes
    • Duration column added to meals panel
    • Location added to calendar entry body
  3. Updated nutrition construction logic:
    • Better selection of apropos portion unit name in combo box given ingredient unit name (when a correct portion match has already taken place)
    • Use descriptor/unit names from FoodUpdateLog portion of nutrition response message when necessary
    • Use default 100 g/mL portion quantity when not explicitly specified in nutrition response message
    • Updated disposition to note when all amounts in the nutrition response message are zero-valued

CuttingBoard v0.42.4 Release

November 10, 2022

  1. Miscellaneous bug fixes
  2. Added LogRetention perferences.xml parameter for retention (in days) of application log files
  3. Added to Meal: print/export PDF capability and updated help for managed object print/export file capability matrix
  4. Added to Recipe: background thread import to not freeze UI during import of large number of objects
  5. Added to Notes: Added icon on each TreeItem, added Follow Hyperlink Menu Item and PopUp for TableCell data
  6. Added to Food / Recipe: capability to clear Nutrition
  7. Updated Recipe / NutritionProfile: enact Nutrition discard when nutrition owned
  8. Added to embedded Help: numbering scheme
  9. Test suite upgrades (includes database schema change from v0.42.3)