Changelog
All notable changes to this project will be documented in this file.
Version 1.0.0
The Excalidraw component library contains 72 shapes.
Notable changes
New library components
- Fundamentals
The Processor Context is a wrapper component to visually group advanced PAPI (Processor API) features with the custom Processor they belong to. Examples: Custom State Stores, Punctuators.
- Topics & Events
Tombstone.
Deletions (null values) are called tombstones within the Kafka context. - Kafka Streams DSL
windowedBy applies a time windowing strategy to a grouped stream, partitioning records into defined intervals for subsequent aggregations.
# Stateful operation.
- Windowing
- Emit Strategy:
Emit on update strategy emits a new, updated window result every time the aggregated state changes due to incoming records.
Emit on close strategy emits the final result only once when the window is considered complete and closed.
- Suppressed (untilWindowCloses; untilTimeLimit)
Suppressed is an operator that buffers intermediate results and only forwards the final aggregate once the window is complete (or after a defined grace period).
- Emit Strategy:
- External Interfaces
External DB can be used for highlighting integration or interaction with an external DB. This can e.g. be used to indicate Kafka Connect or other CDC data flows.
Removed library components
- External Interfaces
- API (alternative 2)
- External System (alternative 2)
Improved Arrow Linking
Multiple components, most importantly topics and state stores, have been updated to allow easy linking/docking of arrows. This is particularly useful when using elbow type arrows.
Updates to the Documentation
- Improves existing documentation (Notation)
- Reflects all updated and new components.
- Improved descriptions.
Version 1.0.0-beta.3
The Excalidraw component library contains 67 shapes.
Notable changes
Updates to the Documentation
- Improves existing documentation
- KSTD Standard: all API varieties of similar operations are documented
(e.g.
filter
<->filterNot
)
- KSTD Standard: all API varieties of similar operations are documented
(e.g.
- Minor update to the example: ‘Ecommerce Product View’
Cosmetic improvements
- updated text for ‘split’ -> ‘split +branch’
- updated text for ‘reduce, aggregate’ -> ‘reduce; aggregate’ (after adding the operator, edit the text and remove one of the two)
Version 1.0.0-beta.2
The Excalidraw component library contains 67 shapes.
Notable changes
Updates to the Documentation
- Improves existing documentation
- KSTD Standard: added diagrams for ‘Topology Layout and Internals’ and new section on ‘Swimlanes’
- Design Principles: Improved section ‘Crafting Software Architecture Diagrams’, added references to library components
- Architecture Diagram - Best Practices: improved clarity and text formatting
- Adds new documentation page: ‘Tips and Tricks’
- Minor update to the example: ‘User Flight Booking - Status Update Notifications’
- Misc. improvements to the website
Version 1.0.0-beta.1
The Excalidraw component library contains 67 shapes.
Notable changes
Sub-topology
The sub-topology component now has a subtle background to make it better visible when placed within the topology component. All examples featured on the KSTD website have also been updated to the beta version. (Many thanks for the feedback @Sophie! 🦦)
Cosmetic improvements
Various library components’ visual look was slightly improved.
Version 1.0.0-alpha.4
The Excalidraw component library contains 67 shapes.
Notable changes
Introducing ‘shapes’ for DSL operators
Previously, all DSL operators were visualized in a circular shape. From this version onwards, the notation has been extended to differentiate between four basic shapes to subtly provide hints on the operator’s processing characteristics and how this affects the topology.
The new shapes are defined as follows:
- circular: basic behaviour; no changes to the record key/value; stateless
- square: stateful; uses state stores and, by default, leads to an internal changelog topic to be created in Kafka
- diamond: key-changing operator, may lead to an internal repartitioning topic to be created in Kafka on subsequent operations
- square+diamond: potentially both key-changing and stateful
PS: The new shapes, part of the new ‘Legend’ component, are shown below.
New library component: ‘Legend’
- A basic diagram legend has been created
- Comes in two variants: portrait & landscape orientation
Topic components revised
- There are now three different variants provided for Kafka Topics
- Basic: pipe shape and topic name; without the Kafka logo
- Default: pipe shape with a small Kafka logo; topic name + basic topic config in 2nd line of the text
- Plus: pipe shape next to the large Kafka logo; topic name + advanced topic config in subsequent lines of the text
Numeric footnote indicators / Use-case example steps
- A new purple-coloured circular ‘button’; 2 digits (0..99)
- No strict guidelines or purpose, but it can be useful to add, e.g.
- numbered indicators to add footnotes for specific details in the diagram
- outline process flow (or orchestration) steps to describe how a particular complex use case is handled by the topology and/or business logic
New toggle descriptor for ‘Read-only State Stores’
- ref KIP-813
- ref The Mysteries of KIP-813 by Matthias J. Sax
Version 1.0.0-alpha.3
This is the initial version that is made available for closed alpha testing.
The Excalidraw component library holds 59 shapes.