# CraftSim

## [23.3.0](https://github.com/derfloh205/CraftSim/tree/23.3.0) (2026-04-01)
[Full Changelog](https://github.com/derfloh205/CraftSim/compare/23.2.0...23.3.0) [Previous Releases](https://github.com/derfloh205/CraftSim/releases)

- chore: update version to 23.3.0 and add patch notes for new features and fixes  
- refactor: update first craft tooltip and adjust KP calculations (#1190)  
    * refactor: update first craft tooltip and adjust KP calculations  
    - Enhanced the tooltip for the first craft to clarify the relationship between Knowledge Points (KP) and profit.  
    - Adjusted the calculation of KP for patron orders to include first-craft bonuses in the cost check.  
    - Removed redundant first craft KP bonus from profit calculations in the average profit function.  
    * fix: clarify first craft tooltip for Knowledge Points  
    * refactor: update moxie tooltip and profit calculations  
    - Clarified tooltips for first craft and moxie values, indicating that moxie is informational and not included in expected profit.  
    - Adjusted profit calculation logic to exclude moxie currency from gold profit.  
    - Enhanced the handling of first craft moxie in the UI and tooltip displays for better user understanding.  
    * fix(init): improve crafting orders loading logic for smoother UI experience  
    ---------  
    Co-authored-by: genjuwow <derfloh205@gmail.com>  
- fix(debug): use custom print method for missing profiling label notification  
- Add Simple vs Permutation-Based algorithm toggle for Optimize Finishing Reagents (#1187)  
    * Initial plan  
    * Add Simple/Permutation Based algorithm toggle for Optimize Finishing Reagents  
    - Add FINISHING\_REAGENTS\_ALGORITHM option key and enum (SIMPLE/PERMUTATION) to OptimizationOptions widget  
    - Add algorithm sub-menu with radio buttons and tooltips under Optimize Finishing Reagents in OptimizationOptions UI  
    - Add OptimizeFinishingReagentsPermutation method to RecipeData: tries all finishing reagent combinations via cartesian product, runs per-combination reagent/concentration optimization, selects best result  
    - Update RecipeData:Optimize to skip outer reagent/concentration tasks in permutation mode (they run per-permutation instead)  
    - Update RecipeScan and CraftQueue/UI to read and pass the algorithm option as permutationBased flag  
    - Add FINISHING\_REAGENTS\_ALGORITHM to showOptions/defaults in CraftQueue and RecipeScan OptimizationOptions widgets  
    - Add localization strings for all new UI elements across all locale files  
    Agent-Logs-Url: https://github.com/derfloh205/CraftSim/sessions/dfe7fcda-606c-4d2a-b8b3-59604753295a  
    Co-authored-by: derfloh205 <9341090+derfloh205@users.noreply.github.com>  
    * Add finishing reagents algorithm toggle to CraftLists and ReagentOptimization  
    - DB/craftListsDB.lua: Add finishingReagentsAlgorithm field to CraftList.Options and SIMPLE default  
    - Modules/CraftQueue/CraftLists.lua: Pass permutationBased flag from options.finishingReagentsAlgorithm  
    - Modules/CraftQueue/UI.lua: Add Simple/Permutation radio sub-menu to per-list options (under Optimization)  
    - Util/Const.lua: Add REAGENT\_OPTIMIZATION\_FINISHING\_REAGENTS\_ALGORITHM option key + default SIMPLE  
    - Modules/ReagentOptimization/UI.lua: Add L localizer, algorithm options button sub-menu, dispatch to  
      OptimizeFinishingReagentsPermutation when PERMUTATION algorithm is selected  
    Agent-Logs-Url: https://github.com/derfloh205/CraftSim/sessions/6fdf5261-bd1c-4677-ac6e-44f73437b8fa  
    Co-authored-by: derfloh205 <9341090+derfloh205@users.noreply.github.com>  
    ---------  
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>  
    Co-authored-by: derfloh205 <9341090+derfloh205@users.noreply.github.com>  
    Co-authored-by: genjuwow <derfloh205@gmail.com>  
- fix(craft-queue): ensure queueable amount is zero if current concentration is less than required cost (#1183)  