KOS Release Notes are official documents published with each new version of the KOS platform and its tools, including KOS Studio. They provide a clear summary of all changes delivered in a specific release.
Release Notes are essential for anyone working with the KOS ecosystem—developers, integrators, partners, and business stakeholders—because they help users quickly understand:
- New Features: Highlights of new capabilities or tools added to the platform.
- Enhancements: Enhancements to existing features, performance optimizations, or user experience updates.
- Resolved Issues: Issues resolved from previous versions, helping teams track reliability improvements.
- Breaking Changes: Changes that may affect backward compatibility or require adjustments to existing projects.
- Known Issues: Current limitations or defects that users should be aware of, often with workarounds or planned fixes.
For developers and technical teams, KOS Release Notes are an essential guide for planning upgrades, testing new features, and ensuring ongoing compatibility in projects built on the KOS smart dispense operating system.
Java Docs
KOS Release v1.7.0
May 02, 2025
New Features
- Arduino rapid prototyping support:
- Arduino blink library allows serial connections back to java allowing java and arduinos to communicate directly.
- ArduinoMatcher interface to allow developers to add custom serial device matching rules to identify custom boards as being arduino compatible.
- Added IngredientInWrongHolderFilter which prevents users from putting cartridges in the wrong slots by telling them the ingredient was previously in a different slot.
- Added IfaceAware to simplify access to custom adapter iface in a Board objects.
Enhancements
- Log service changes including:
- Changes to fuseLogger to support log streaming in kOS Studio.
- LogServer now provides support for tracking all existing log archive files across all nodes and provides api’s for fetching the list of archive files and can track upload status of each file by uploader name. There is also support for streaming log archive files from any node in the device from the primary node, so log uploaders don’t need to copy files from secondary nodes to the primary before sending them to the cloud.
- Values extracted from a url in a controller using @PathVariable are now properly url decoded.
- Test brandsets not created by tccc-cms will no longer work in production model. An UnauthorizedBrandsetTrouble will be raised to indicate the brandset won’t be usable in production.
- FreestylePourEngine sets FreestylePourable.recipeId for cloned pourables as well as the original. This allows access to the recipeId in callbacks which use the cloned Pourables.
- KOS now creates an AnalyticsClassifier for AnalyticsServer.DEFAULT_CHANNEL. System agents should use the AnalyticsDefaultChannelExporter interface or explicitly register an exporter for Analytics.DEFAULT_CHANNEL to leverage the events in this channel instead of creating a separate channel.
- Fixed analytic event type for adding and logging troubles:
- kos.core.trouble.add
- kos.core.trouble.log
Resolved Issues
- Fixed api name in BeveragePourBuilder: addSeletedFixedPour() is now addSelectedFixedPour()
- Fixed bug in BeveragePourBuilder where percentage volumes are scaled by 100.
- Fixed DelayPourable to properly complete future.
- Removed JsonDescriptor argument from Assembly constructor. A JsonDescriptor can still be set via setDescriptor(), but is no longer required in the constructor. FreestyleAssembly still provides a backwards compatible constructor.
