# Changelog - FD2

All notable changes for FD2.

## [Unreleased]

## [25.09.05] - 2025-10-03
### Added
- [FD2/Licensing] added more error codes and their mapping to better identify issues with licensing
- [FD2/Wayne] Validate if config is necesary based on if a hose was created after initial config or not to 
ensure dynamic mapping is working
- [FD2/Wayne] We now log the entire start up configuration process so that we know when we broke out of it and 
failed and why
- [FD2/Wayne] Implemented dynamic hose/grade translation (SetupHoseTranslation, WayneHoseMap, HoseToGrade, 
GradeToHose)
- [FD2/Wayne] InitializeBlendValues and GetBlendValues1To3/4To6 for blend slot discovery
- [FD2/Wayne] GetValidHoses (0x07/0x1A) to parse hose bitmask and populate AvailablePositions
- [FD2/Wayne] Extended ConfigurePump to include hose/blend discovery during startup

### Changed
- [FD2/Wayne] Made it so that single hose lock maps the same way as multihoselock to avoid issues we saw with 
the sc82
- [FD2/Logging] changed the way we created and managed the thread for writing logs this now uses a semaphore 
slim per file.
- [FD2/dispenser] ConfigurePump refactored (no goto, clearer logic, blend queries tolerant)
- [FD2/Wayne] HoseInAdjust to resolve Wayne hose â†’ internal hose â†’ blend index with 
fallbacks and logging
- [FD2/Wayne] HoseOutAdjust to normalize indices and handle FixedBlend vs VariableBlend consistently

### Fixed
- [FD2/Wayne] fix order of opperations
- [FD2/Logs] Include the version in some logs that did not have it
- [FD2/dispenser] Hose lift mapping corrected (blendIndex +1 ensures lifted hose matches physical)
- [FD2/Wayne] Off-by-one handling of internal vs Wayne hose numbering
- [FD2/Wayne] Guarded against invalid indices and missing blend data with safe defaults and diagnostics
- [FD2/Wayne] Deduped AvailablePositions and added logging for invalid Wayne hose indexes



## [25.09.04] - 2025-09-25
### Added
- [FD2/Generic] added management for hose lock and multi-hose lock so that the pump sim can also manage this
- [FD2/Docs] Added wayne documentation
- [FD2/Generic] Added Multihose lock and hose lock
- [FD2/PumpSim] Manage multi-hose lock
- [FD2/Conexxus] Added log trace for transactions per reader

### Changed
- [FD2/DispenserCh] Normalized lines to be compatible with VB6
- [FD2/Tokheim] Status/arm/flow checks aligned with Wayne & legacy FuelDirect.
- [FD2/Kraus] Status/arm/flow checks aligned with Wayne & legacy FuelDirect.
- [FD2/Folders] Moved .cs to related folders for ease of use
- [FD2/logs] split Conexxus logs into per-remote-IP files for easier debugging
- [FD2/startup] decoupled reader startup from heartbeats so program boot doesnâ€™t depend on reader 
beats

### Fixed
- [FD2/Conexxus] better handle disconects and reconnects to avoid cpu overuse
- [FD2/FDSocket] addressed issues with handling messages that include hose lock and multihose lock
- [FD2/Wayne] corrected how we handle the arming and re arming of dispensers specifically when we have non bcd 
pumps
- [FD2/POS] reverted connection changes
- [FD2/FDSocket] Manage Multihose lock
- [FD2/Wayne] Paused-pump handling; allow handle change while armed (non-BCD).
- [FD2/Dispenser] Hose-lock validation for BCD & non-BCD.
- [FD2/FDSocketHandler] Multihose lock handling; show prices on FuelingPositionInfo; correct 
DispenserInformation mapping.
- [FD2/Wayne] Changed the way we handle changes in hose for nonbcd to ensure we repause and re arm based on 
new hose
- [FD2/GDM] ensure we dont allow deauths when we are flowing
- [FD2/FDSocket] some adjustments to ensure we match the original dev guide
- [FD2/Conexxus] make the falback false
- [FD2/grm] remove sync-over-async to avoid startup deadlock risk during channel initialization
- [FD2/queues] corrected dequeue/clear logic to operate on the intended queues



## [25.09.01] - 2025-09-04
### Fixed
- [FD2/Startup] Added guards and more precise logging when starting up to know why we fail to load if we do
- [FD2/Protocol] Added POS socket command builders



## [25.08.02] - 2025-08-29
### Added
- [FD2/DOCS] Per-project changelog plumbing (hooks, workflow, skeleton)


# Changelog - FD2

All notable changes for FD2.

## [Unreleased]

### Added
### Changed
### Fixed
### Removed
### Deprecated
### Security
