KSML Changelog
1.0.2 (2024-09-20)
- 
Solve missing SR url properties error for apps without AVRO 
- 
Fix transformtolist result type 
- 
Serialization fixes 
- 
Fix missing object type in language spec 
- 
Separate liveness, readiness and startup services 
- 
Fix logic issue with Prometheus Export and ServiceMonitor 
- 
Upgrade to Kafka 3.8.0 
- 
Add namespace and name to Function log messages and exceptions 
1.0.1 (2024-07-17)
- 
Topology Optimization can be applied 
- 
Runtime dependencies, like LZ4 compression support, are back in the KSML image 
- 
Fix parse error messages during join 
- 
Fix windowed aggregation flow errors 
- 
Update windowed object support in multiple operations and functions 
1.0.0 (2024-06-28)
- 
Reworked parsing logic, allowing alternatives for operations and other definitions to co-exist in the KSML language specification. This allows for better syntax checking in IDEs. 
- 
Lots of small fixes and completion modifications. 
0.9.0 (2024-06-05)
- 
Collectable metrics 
- 
New topology test suite 
- 
Python context hardening 
- 
Improved handling of Kafka tombstones 
- 
Added flexibility to producers (single shot, n-shot, or user condition-based) 
- 
JSON Logging support 
- 
Bumped GraalVM to 23.1.2 
- 
Bumped several dependency versions 
- 
Several fixes and security updates 
0.8.0 (2024-03-08)
- 
Reworked all parsing logic, to allow for exporting the JSON schema of the KSML specification: 
- 
docs/specification.md is now derived from internal parser logic, guaranteeing consistency and completeness. 
- 
examples/ksml.json contains the JSON schema, which can be loaded into IDEs for syntax validation and completion. 
- 
Improved schema handling: 
- 
Better compatibility checking between schema fields. 
- 
Improved support for state stores: 
- 
Update to state store typing and handling. 
- 
Manual state stores can be defined and referenced in pipelines. 
- 
Manual state stores are also available in Python functions. 
- 
State stores can be used ‘side-effect-free’ (e.g. no AVRO schema registration) 
- 
Python function improvements: 
- 
Automatic variable assignment for state stores. 
- 
Every Python function can use a Java Logger, integrating Python output with KSML log output. 
- 
Type inference in situations where parameters or result types can be derived from the context. 
- 
Lots of small language updates: 
- 
Improve readability for store types, filter operations and windowing operations 
- 
Introduction of the “as” operation, which allows for pipeline referencing and chaining. 
- 
Better data type handling: 
- 
Separation of data types and KSML core, allowing for easier addition of new data types in the future. 
- 
Automatic conversion of data types, removing common pipeline failure scenarios. 
- 
New implementation for CSV handling. 
- 
Merged the different runners into a single runner. 
- 
KSML definitions can now include both producers (data generators) and pipelines (Kafka Streams topologies). 
- 
Removal of Kafka and Axual backend distinctions. 
- 
Configuration file updates, allowing for running multiple definitions in a single runner (each in its own namespace). 
- 
Examples updated to reflect the latest definition format. 
- 
Documentation updated. 
0.2.2 (2024-01-30)
- 
Fix KSML java process not stopping on exception 
- 
Fix stream-stream join validation and align other checks 
- 
Bump logback to 1.4.12 
- 
Fix to enable Streams optimisations to be applied to topology 
- 
Fix resolving admin client issues causing warning messages 
0.2.0 (2023-12-07)
- 
Optimized Docker build 
- 
Merged KSML Runners into one module, optimize Docker builds and workflow 
- 
KSML documentation updates 
- 
Docker image, GraalPy venv, install and GU commands fail 
- 
Update GitHub Actions 
- 
Small robustness improvements 
- 
Issue #72 - Fix build failures when trying to use venv and install python packages 
- 
Manual state store support, Kafka client cleanups and configuration changes 
- 
Update and clean up dependencies 
- 
Update documentation to use new runner configurations 
- 
Update to GraalVM for JDK 21 Community 
0.1.0 (2023-03-15)
- 
Added XML/SOAP support 
- 
Added data generator 
- 
Added Automatic Type Conversion 
- 
Added Schema Support for XML, Avro, JSON, Schema 
- 
Added Basic Error Handling 
0.0.4 (2022-12-02)
- 
Update to kafka 3.2.3 
- 
Update to Java 17 
- 
Support multiple architectures in KSML, linux/amd64 and linux/arm64 
- 
Refactored internal typing system, plus some fixes to store operations 
- 
Introduce queryable state stores 
- 
Add better handling of NULL keys and values from Kafka 
- 
Implement schema support 
- 
Added Docker multistage build 
- 
Bug fix for windowed objects 
- 
Store improvements 
- 
Support Liberica NIK 
- 
Switch from Travis CI to GitHub workflow 
- 
Build snapshot Docker image on pull request merged