Release Notes

v1.6.0

  • BeveragePourListener replaces the BeverageSequence argument with BeveragePour. This new type contains the sequence as well as other pour related information.

  • Pump.getPour() is now of type Pour instead of Terminable, allowing access to more high level information about the pour. Both PumpIntent and BeveragePour implement the Pour interface.

  • BeveragePourEngine.buildFuture(Pourable p, Object lock) has been changed to buildFuture(Pourable p, BeveragePumpEventInitiator initiator). This improves the generation of pump lifecycle events for beverage pours. When using freestyle extension, this is handled internally.

  • FreestylePipelineErrorHandler is replaced by a new error handling infrastructure. References to this class must be removed.

  • Freestyle extension has new pump error handling infrastructure which implements the complex Freestyle error semantics. This brings KOS error handling in line with fos error handling.

  • Bug fix for agitator interlocks when using multiple pumps concurrently. This could have resulted in the agitator running during pouring operations.

  • CartridgeAgitationService has a config setting to enable InsufficientAgitationTroubles. This is now off by default as it’s not required for platforms with towers. This prevents beverages from being blocked during startup agitation.

  • MSV two strike sold out now uses pump error handler service.

  • LFCV two strike sold out now uses pump error handler service.

  • Added PumpOp error handler to allow LCFV to go sold out on a single strike. This should be used for LFCV calibration pours to ensure failed pours generate sold out and force a reset. To use this, specify errorHandlerId=”lfcvSingleStrikeSoldOut” in the vpour operation for the calibration intent.

  • Support for delegated pump intents when used with composite pumps / super pumps (logical pumps that are made up of multiple physical pumps). When an intent specifies delegated=”true” then the intent will be applied to each child pump that makes up the composite pump. The logical composite pump will also generate pump intent lifecycles but without actually pouring. The parent intent will only be successful if all child intents are also successful.

  • Added LFCVPumpNoFlowTrouble as a single strike trouble used to generate LFCVSoldOutTrouble.

  • Added MSVPumpNoFlowTrouble as a single strike trouble used to generate MSVSoldOutTrouble.

  • Initial support for log level overrides.

  • Convert class strips decimal places from integer types before attempting conversions to avoid throwing exceptions.

  • InsertionService now supports group/position for filters, allowing finer grained control over ordering of filters in the insertion pipeline, including the ability to add new filters in an arbitrary position in the pipeline.

Previous
Next
On this page
Java Development
Seamlessly transition from Legacy+ systems to Freestyle microdosing and advanced distributed dispense systems.
UI Development
Using KOS SDKs, integrating Consumer and Non-consumer facing UIs becomes seamless, giving you less hassle and more time to create.
Video Library
Meet some of our development team, as they lead you through the tools, features, and tips and tricks of various KOS tools.
Resources
Familiarize yourself with KOS terminology, our reference materials, and explore additional resources that complement your KOS journey.
Copyright © 2024 TCCC. All rights reserved.