Release Notes
Release Notes
v2.1.19 (30-Oct-2026)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- The
-b/--blankcommand-line option, which never had any effect. KafkIO now rejects it as an unknown option
Fixed
- Command line:
--help,--versionand--delprprinted their output twice.--helpand--versionnow print once and exit straight away, before preferences are loaded; other options given with them, such as--delpr, are not applied - Command line: an unknown option, or
-dwithout a value, exited with code 0 and logged an error with a stack trace. KafkIO now prints the problem and the usage to the error output and exits with code 2. An unexpected error during startup now exits with code 1 - Consumers: the Delete Topic Offsets confirmation named the consumer group where the topic should be. It now names the topic. The clicked topic's offsets were always the ones deleted
- Command line:
--delprnow names a key it skips ("Unknown preference key 'x', skipped"), and the--helpexample uses real KafkIO keys (mainFontSize,useProxy) - Every start printed a stray "Messages are not initialized before accessing key" line to the console
- Schema Registry: the Additional HTTP headers on the cluster's Schema Registry tab were saved but never sent to the registry. KafkIO now adds them to every Schema Registry request, including Test Schema Registry. A header named
Authorizationreplaces the one from User:password or OAuth - ACLs: in Create ACL Entries > For Kafka Stream Apps, the list under Consume Topic(s) was headed "Give WRITE Access To" and the one under Produce Topic(s) "Give READ Access To". The headings now match what KafkIO grants (READ on consumed topics, WRITE on produced ones), which was always correct. The descriptions beside the helpers' fields (e.g. Application ID, Transaction ID, Idempotency) are also no longer cut off or overlapping when the form is taller than the window; the form scrolls instead
- ACLs: in Create ACL Entries > For Producer, with Produce Topic(s) on LITERAL, Available Topic(s) listed the cluster's consumer groups instead of its topics
- JKS Converter: the saved
.jksfile was a PKCS12 keystore, not a real JKS (keytool -listsaid Keystore type: PKCS12). It's now a real JKS. A blank New store password gives an empty password - JKS Converter: with CRT / PEM / X.509, only the first certificate in a PEM bundle was converted, always under the alias
ct_alias_shortlived. Every certificate is now converted, each under an alias made from its common name (e.g.storefront-root-ca, orcert-1without one). DER and PKCS7 files work too. A private key in the same PEM file is skipped, and the "saved" notification says so and how many certificates were converted - JKS Converter: choosing the wrong file type, a private key, a certificate request or a wrong password showed a raw Java message such as "signed fields invalid". The error now says what the file looks like and what to do. A blank Existing key password or New store password could fail with a NullPointerException
- JKS Converter: choosing Tools > JKS Converter while the converter was already open did nothing; it now brings the open converter to the front
- Schema Registry: a space after a comma in URL(s) (as in the field's own example,
https://somehost:8081, https://anotherhost:8082) made every request to that URL fail withURISyntaxException: Illegal character in scheme name, so failing over to it, or a URL that started with a space, broke Test Schema Registry and schema lookups. KafkIO now ignores spaces around each URL, including in clusters saved before this fix. The field's hint also no longer says the URLs are used round-robin: KafkIO moves on to the next URL only when one can't be reached - Cluster Properties: the Schema Registry, Kafka Connect and ksqlDB tabs showed Java KeyStore (JKS) for Truststore type and Keystore type when a cluster was edited, whatever was saved, and saving wrote JKS back, breaking a P12 or PEM setup. The saved types are now shown and kept
- Basic auth (Schema Registry, Kafka Connect, ksqlDB): a password containing a colon was cut short at it, and a Schema Registry User:password without a colon failed with
ArrayIndexOutOfBoundsException(and, once saved, stopped the cluster connecting). Only the first colon now separates the user from the password, and the field is validated asuser:password - ksqlDB: a URL with a trailing
/, such ashttp://localhost:8088/, failed with "Invalid URL" and, once saved, stopped the whole cluster connecting. A trailing slash is now accepted, and the field rejects a URL with a path, which the ksqlDB client can't use - ksqlDB: with a blank Truststore file, an
https://ksqlDB server trusted only Java's certificate authorities, not the certificates added under File > Preferences > Network (Add certificate), so an internal or self-signed certificate failed with "unable to find valid certification path". ksqlDB now trusts the same certificates as Schema Registry and Kafka Connect. A truststore chosen on the ksqlDB tab, and Accept non-trusted certificates automatically, work as before - Connecting a cluster: an invalid Schema Registry, Kafka Connect or ksqlDB configuration no longer stops the Kafka connection. KafkIO logs it and connects without that configuration; the tab's test button reports the error
- Test Kafka Connect / Test ksqlDB: the error didn't say which configuration failed, and configurations were tested in no particular order. They're now tested in the order shown, and the error starts with the failing configuration's name (e.g. "Kafka Connect cluster 'analytics-connect': ...")
- The Kafka Connect and ksqlDB URL fields showed Schema Registry's example port (
https://someurl:8081). They now show 8083 and 8088, the services' default ports - ksqlDB > Connectors: Create Connector's Overwrite if exists never overwrote anything. Ticked (the default), a name already in use failed with "already exists"; unticked, KafkIO reported success but the existing connector kept its old configuration. ksqlDB can't replace a connector, so the box is now Skip if exists (unticked by default), with a hint that says what it does
- ksqlDB > Connectors: a connector name containing
-or other characters ksqlDB doesn't allow in plain names (e.g.large-orders-export) failed with "Syntax Error Expecting 'WITH'". KafkIO now quotes the name, so it's created exactly as typed: before, ksqlDB upper-cased a plain name (ordersSinkbecameORDERSSINK). A name you already wrapped in back-quotes is left as it is. The Name hint no longer says the name is for display only, here or in Kafka Connect's Create Connector - ksqlDB > Connectors: a single quote in the connector's JSON configuration (e.g. a JDBC
querywithWHERE status = 'NEW') broke the statement KafkIO sends to ksqlDB. Quotes are now escaped - ksqlDB > Connectors: the dialog after creating a connector was titled "Connector %0created"; it's now "Connector created"
- Kafka Security (two-way SSL/TLS): Keystore private key password was ignored. When it was filled in, KafkIO sent the Keystore password as
ssl.key.passwordinstead, so a client key whose password differs from its keystore's couldn't connect. The value you enter is now sent. Leave it blank if it's the same as the keystore password (the field now says so): KafkIO then uses the keystore password for the key - Kafka Security: with a CRT / PEM / X.509 keystore and a Keystore private key password, connecting could fail with a NullPointerException
- Schema Registry, Kafka Connect and ksqlDB (two-way SSL/TLS): a blank Keystore private key password failed with "Error initializing the ssl context". Left blank, the keystore password is now used for the key, as for Kafka. With a CRT / PEM / X.509 keystore, a Keystore password left over from another keystore type (the field is hidden for PEM) is no longer sent
- Copy Summary and Copy All Summaries: in the topics list the
# Msgsline held a long internal description of the topic (partitions, offsets and every setting) instead of the message count. Consumers, a topic's Consumers tab, Schema Registry and Kafka Connect had the same problem on most columns, Brokers copied Disk Usage asDiskUsage(segmentSize=...), a connector task's State came out as the whole task status including the error trace, and Topic and Broker Settings addedSearch:andEdit:lines describing the setting. Each line now holds what the table shows (# Msgsgives the exact count, and columns showingN/AcopyN/A) - Password fields: pressing the eye button on an empty password field, or on a field with a hint such as Truststore password's "Blank for none", removed the hint until the dialog was reopened. The hint now stays
Security
- Nothing
v2.1.18 (29-Oct-2026)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Help > Online help (F1) opened the commercial support page; it's now KafkIO Documentation and opens https://www.kafkio.com/docs/getting-started/introduction, and a separate Help > Commercial Support item opens the support page
- Edit Cluster was greyed out for a connected cluster with no explanation; the disabled toolbar button now has a tooltip saying it's not available while connected (disconnect first), and the Cluster menu and the cluster's context menu item read "Edit Cluster (disconnect first)"
- Clear Messages was greyed out for compacted topics with no explanation; the disabled toolbar button now has a tooltip saying it's not available when
cleanup.policyiscompactonly, and the context menu item reads "Clear Messages (compacted topic)" - While clearing a topic's messages, the busy overlay said "Deleting topic ..."; it now says "Clearing messages on topic ..."
- Deserializer info popover listed "Unsigned Int (62)" instead of "Unsigned Int (32)"
- Message counts in the topic list (and the "Sending N messages" mask) used data-size suffixes such as "1.2G"; they now use count suffixes (K, M, B, T)
- Consumed data size in the message search stats now shows proper byte units (e.g. "1.5 MB" instead of "1.5M", or a bare number for small sizes)
- The message table's size column now shows one decimal place (e.g. "1.9 MB" instead of rounding down to "1 MB"), consistent with sizes elsewhere
- Number formatting used a shared, non-thread-safe formatter from background tasks, which could theoretically produce garbled numbers
- Linux: the dock/taskbar showed a generic icon for the running window because obfuscation renamed the main class, so its WM_CLASS no longer matched
StartupWMClassin the desktop entry - Kafka admin clients could leak (a
kafka-admin-client-threadand its connections, left running until exit) when several views requested one at the same time, e.g. while a cluster was connecting; concurrent requests now wait for a single client. A client still being created when the cluster disconnects is now closed instead of cached - Consumer group and offset reset operations kept using the admin client from before a disconnect, so after editing a cluster's bootstrap servers or credentials they still talked to the old cluster with the old settings (and renaming a cluster left the old client running until exit); the client is now closed on disconnect
- Preferences > Network: the http.nonProxyHosts value was never applied (it was cleared instead, and leaving it empty replaced Java's default
localhost|127.*|[::1]with an empty list), so with Also set JDK proxy system properties on, hosts listed there still went through the proxy - The Save Template name prompt (Produce Message(s) dialog) had the window title "Confirmation"; it's now titled "Save Template"
- An empty ksqlDB cluster name gave the error "Please enter a Kafka Connect cluster name."; it now says ksqlDB. The Memory Stick dialog also described the clusters file as YAML; it's JSON
Security
- Nothing
v2.1.17 (14-Oct-2026)
Added
- Click the selected topic, consumer group, broker, connector, schema subject or ACL in the section header to copy it to the clipboard
- MessagePack serialization/deserialization support
- Protobuf serialization/deserialization support
- Produce messages with Schema Registry under any subject naming strategy (TopicNameStrategy, TopicRecordNameStrategy and RecordNameStrategy): pick the subject next to the key/value serializer; re-producing a message pre-selects the subject of its schema ID
Changed
- Schema Registry is now offered as a key/value deserializer for topics whose schemas are registered under record-based subjects (it's auto-selected when the topic has subjects of its own:
{topic}-key/{topic}-valueor{topic}-{fully.qualified.Record})
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Producing a message with variable substitution enabled failed with a NullPointerException when a header had a null (or unset) value
- Linux .deb/.rpm installers showed a generic Duke icon in the app launcher/dock instead of the KafkIO logo
Security
- Nothing
v2.1.16 (25-May-2026)
Added
- Apple Silicon native support
- LICENSE.txt to macOS app bundle and standalone archive
Changed
- Homebrew cask for macOS installs from DMG instead of PKG (which required sudo)
- JFX 26 update, with various improvements and bug fixes
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Nothing
Security
- Nothing
v2.1.15 (22-Mar-2026)
Added
- WarpStream Schema Registry support
- Re-create topic option to include or omit DYNAMIC_TOPIC_CONFIG settings
Changed
- JFX 26 update, with various improvements and bug fixes
- Improved Aiven Karapace support
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Schema Registry errors in some cases when no default schema compatibility level set
- Various UI improvements and minor bug fixes
- Topic re-create no longer re-creates all settings as DYNAMIC_TOPIC_CONFIG
Security
- Nothing
v2.1.14 (17-Feb-2026)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- NullPointerException on consumers tab
Security
- Nothing
v2.1.13 (11-Feb-2026)
Added
- Support for Avro 1.12.1
- Support for timestamp-nanos and local-timestamp-nanos Avro logical types
Changed
- Improved default naming when saving message templates
- Topic configuration updates now always attempt incremental updates, even when the broker version is too old or cannot be determined (no assumptions are made about feature support)
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Rare NullPointerException when switching desktops while KafkIO is open without an active cluster selected
- NullPointerException when no keystore password is provided for Schema Registry SSL connections
- Resolved an issue where the save message template alert could block the application if another always-on-top window was present
- Minor display issue on the Produce Message(s) screen
- Fixed incorrect maximum retained log file handling
- Prevented automatic long-lived retries when message production fails; the operation now fails fast with a clear error message
Security
- Nothing
v2.1.12 (31-Jan-2026)
Added
- Added support for configuring JDK proxy properties to enable OAuth flows in libraries that rely on the JDK HTTP client (e.g. Azure Entra / Microsoft Identity, Kafka OAuth, Strimzi).
Changed
- Various visual improvements
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Some Azure Event Hubs samples
Security
- Nothing
v2.1.11 (30-Jan-2026)
Added
- Single-topic refresh support
- Topic list message count tooltips now show the exact message count (no abbreviation)
- Message count updates appear instantly in the topic list when producing messages
- Avro preference: when enabled, union types display fully qualified names (e.g. com.certak.MyKafkIORecord instead of MyKafkIORecord)
- Avro preference: when enabled, null fields are explicitly rendered as "field": null (previously omitted)
Changed
- Improved editing and refreshing of broker and topic settings
- Topic operations (clear, delete, recreate, refresh) now reload only the affected topic
- Upgraded to JDK 25.0.2
- Minor wording and language improvements throughout the UI
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Row reordering or jumping during refresh when column sorting is applied (connectors, schemas, or consumers)
- Unhelpful errors shown when some Kafka statistics fail to load during initial connection
- Edge-case issues when rapidly setting favourites with multiple topic tabs open for the same cluster
- Various minor UI glitches
Security
- Nothing
v2.1.10 (20-Jan-2026)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Critical issue where lack of cluster describe permissions caused various screens to fail to load
- Prevent option to attempt clearing messages on compacted topics (not supported by Kafka)
Security
- Nothing
v2.1.9 (17-Jan-2026)
Added
- Resolved IP address to Network Tool dialog
- Cluster controller type on Brokers view
- Better handling of Kafka Connect API and Schema Registry API partial failures
- Better multi-error reporting of Kafka Connect API and Schema Registry API partial failures
- Ability to individually refresh a schema, consumer, or connector without reloading entire lists
- More granular messaging when connecting (particularly useful for slow networks and/or with a large amount of topics)
Changed
- Topic List panel default width reduced by 11%
- Network Tool dialog language improved
- Large reduction Kafka Connect API calls when loading Kafka Connect connectors list
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Correct pro-populated host:port combinations on Network Tool dialog when initiated from error dialog
- JKS Converter utility now correctly handling empty/null passwords
- Active controller ID issue for KRaft clusters
- ToolBar in main screen not masked when masker pane active (regression in last release)
- Various minor UI and edge-case fixes
Security
- Nothing
v2.1.8 (31-Dec-2025)
Added
- Debian installers (.deb) now compatible with more Linux distributions (older and newer)
- Ability to add delay (up to 5 minutes) between producing messages when producing multiple messages
- Added scrollbar to Produce Message(s) dialog
Changed
- Header bars always draggable (on all screens/dialogs) even when masker (loading/busy) pane is active
Deprecated
- Nothing
Removed
- Nothing
Fixed
- NullPointerException when removing a consumer in cases where a broker executes it particularly quickly (i.e., no DEAD consumer)
Security
- Nothing
v2.1.7 (28-Dec-2025)
Added
- Cluster config action button on cluster tree
Changed
- Config file migrated from .yml to .json
- Various other minor UI improvements
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Improved KRB5 configuration descriptions
- Favourites star icon minimum size increased
- Syntax highlighting when editing a schema while also changing schema type
Security
- Nothing
v2.1.6 (23-Dec-2025)
Added
- Nothing
Changed
- Improved search form expand/collapse options
- Produce message dialog improvements re: number of messages produced
- Produce up to 500k messages at once (previously 100k)
- Other minor UI improvements
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Info popups from table column headers now no longer clipped when in compact mode
Security
- Nothing
v2.1.5 (20-Dec-2025)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Issue where closing as duplicated topic tab would sometimes (visually) clear all favourites on other topic tabs (within the same cluster)
- "Create Topic" button display issue when using uneven resolution scaling (i.e., 125%) on Windows
Security
- Nothing
v2.1.4 (20-Dec-2025)
Added
- Kerberos configuration preferences tab allowing users to configure java.security.krb5.conf, java.security.krb5.realm, and java.security.krb5.kdc system properties
- KRB5_CONFIG env variable support (for Kerberos configuration file location)
- Kerberos system properties applied on application startup based on user preferences
Changed
- Improvements to Produce Message dialog layout and usability
- Clearer message indicating how to expand when messages search form is collapsed
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Allow to update schema type when editing a schema in Schema Registry (unlikely requirement, but possible)
Security
- Nothing
v2.1.3 (17-Dec-2025)
Added
- Message templates for producing messages
- Open multiple Produce Message dialogs at once
- Search config from Overview screen
- Memory stats in status bar
- Load splash screen from Help menu
- Homebrew cask for macOS
Changed
- Various UI improvements
- Improved topic list layout, to show more of topic names on smaller screens
- Much better readability of highlighted text/JSON/XML, etc.
- Improved Schema Registry schemas loading times
- Improved Kafka Connect connectors loading times
- More memory improvements
Deprecated
- Nothing
Removed
- Nothing
Fixed
- NullPointerException if topic dump fails mid-way through retrieving messages (i.e., due to network error)
- Fixing various edge-case display issues with popover messages (informational tooltips)
- Issue when switching from memory-stick mode to non-memory-stick mode and selecting topics
Security
- Nothing
v2.1.2 (05-Dec-2025)
Added
- Ability to play sound notifications when streaming topic messages
- Ability to play sound notifications when streaming data from KSQL queries
Changed
- Major memory usage improvements across several components and under edge-case scenarios
- Major optimisations (memory & CPU) when streaming data while the screen is not rendering
- Other optimisations and improvements
Deprecated
- Nothing
Removed
- Nothing
Fixed
- KSQL Editor now detecting EMIT and EMIT FINAL as streaming queries (previously only EMIT CHANGES detected)
- KSQL Editor won't confuse a non-streaming a streaming where a query contains EMIT CHANGES (for example) in a comment or string literal
- KSQL Editor notification when a LIMIT is enforced
- Other KSQL fixes
- Some minor memory leaks
Security
- Nothing
v2.1.1 (01-Dec-2025)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Missing jose.4.j (ClassNotFoundException: org.jose4j.keys.resolvers.VerificationKeyResolver)
Security
- Nothing
v2.1.0 (30-Nov-2025)
Added
- Confluent Platform 8+ support
- ACL operation type: TWO_PHASE_COMMIT
- Ability to clone connector configs
- Topic dump ability to include headers
- Regex filtering support for all filterable table/lists, and Kafka message filtering
- Context menu to consumer group consumers table
Changed
- Allow multiple ACL operation type selections to create 2+ ACLs at once
- Various UX improvements/fixes when managing connectors, including better performance
Deprecated
- Nothing
Removed
- Removed deprecated fallback "alterConfigs" support (was required when incrementalAlterConfigs unsupported on Kafka versions older than 2.3)
Fixed
- Schema Registry registries loading performance fix (in particular for SSL connections on slow networks)
- Fix confirmation dialog message for restarting connector tasks
- Various layout improvements and tweaks
- Various ksqlDB issues
Security
- Nothing
v2.0.14 (26-Nov-2025)
Added
- Ability to select timezone when viewing topic message timestamps
- Compact table mode (under View menu) for denser data display
- Support specifying multiple URLs for Schema Registry configurations, for round-robin or failover
- Check network availability links to Schema Registry, Kafka Connect, ksqlDB configuration tabs
- Schema Registry Oauth support (OAUTHBEARER & STATIC_TOKEN)
Changed
- Some layout improvements on topic messages tab
- Schema compatibility errors now more descriptive, showing root cause message from Schema Registry
- More prominent Consumer Partitions & Kafka Connect error expansion/collapse buttons
Deprecated
- Nothing
Removed
- Some unnecessary libraries
Fixed
- Topic dump suggested directory now suggesting last used directory, even if last file created was deleted
- Always show cluster tree after restart, even if user had hidden it previously (i.e., do not save as preference)
- Reserved URL characters (such as forward slashes) in schema names no longer causes issues when viewing or managing schemas
- Some language fixes
- Text filter poll/page size warning no longer incorrectly appearing if user entered filter text but clicked Next page of previous search
Security
- Nothing
v2.0.13 (03-Nov-2025)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Error during topic creation topic when specifying custom settings
Security
- Nothing
v2.0.12 (03-Nov-2025)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Consumer group error if user has list but not describe permissions to 1...n consumers
Security
- Nothing
v2.0.11 (02-Nov-2025)
Added
- Minor Kafka 4 support update
- Improved Kafka cluster timeout error messages and hints
Changed
- Several major core library updates
- Logging rollover based on size (not just startup), to prevent overly large log files accumulating for long-running instances
- Topic creation / update config improvements (some optimisations around not creating unnecessary config entries when same values are defaulted by broker)
- Network Tool modality changed to not block main window
- Upgraded from JDK23 to JDK25
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Custom cleanup policy now correctly set on topic creation / update (had no effect since 2.0.9)
- Few scenarios where clearing or re-creating a topic may have appeared successful, but actually failed
- NullPointerException when deleting a topic that no longer exists or which user had no permissions for
- Potential to fail to inform user if cancelling a ksqlDB stream failed
- Potential to fail to inform user if removing a consumer failed
- Restored alert and error dialog icons and headers
- Infinite popup loop if attempting to change compatibility on a schema registry that is unreachable or denying access
- Consumer group list/data sped up 6X on various tabs (more improvements to come on this in future releases)
- Special characters in license changed to standard ASCII equivalents
Security
- Nothing
v2.0.10 (24-Sept-2025)
Added
- Nothing
Changed
- macOS licensing
- Core library updates
- Shortened some default panel heights to accommodate smaller displays
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Unwanted KSQL execute button overflow menu when some KSQL is selected
- Some edge case possible error scenarios related to missing standard Kafka broker configuration (i.e., custom or old builds)
Security
- Nothing
v2.0.9 (21-Jul-2025)
Added
- YAML lexer / parser (currently only used for Docker compose sample syntax highlighting)
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Additional edge-case layout glitches on Windows systems
- Schema examples links change schema type combobox value to relevant type
- Protobuf constants have better contrast (in dark theme)
Security
- Nothing
v2.0.8 (20-Jul-2025)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Layout glitches on Windows systems using display scaling greater than 100%
Security
- Nothing
v2.0.7 (19-Jul-2025)
Added
- Docker notes and sample configuration
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Incorrect consumer group assigned partition count
Security
- Nothing
v2.0.6 (12-Jul-2025)
Added
- Color-coding consumer status on topic's consumers tab
- Topic message count tooltip popup
Changed
- Allowing cancellation of a bunch more blocking background tasks
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Various issues caused by lacking consumer groups describe access; now KafkIO recovers and uses what data it can
Security
- Nothing
v2.0.5 (11-Jul-2025)
Added
- Nothing
Changed
- Some internal improvements
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Failed connect task restart pop-up message
- Error when auto-refreshing enabled but no connector selected
Security
- Nothing
v2.0.4 (09-Jul-2025)
Added
- Configurable auto-refresh for connector states
- Automatically refresh task list if operation performed on connector (resume/stop/pause, etc.)
- New color-coded connector columns covering running, failed, paused & total task counts
Changed
- Minor updates to about dialog, including link to http://certak.com
Deprecated
- Nothing
Removed
- Non-official TASK_FAILED connector status (when connector running but with failed tasks)
Fixed
- Potential NPE if inter.broker.protocol.version broker settings, exists but has null value
- Potential NPEs if connector states or tasks states are irretrievable (i.e., deleted elsewhere)
- Inability to pause/start a connector that had certain combination of task statuses
- Version check was not always correctly ignoring versions, if chosen
- Version dialogs could stack if not closed, now preventing multiple new version dialogs
- Unexpected connector or task statuses could cause errors
Security
- Nothing
v2.0.3 (02-Jul-2025)
Added
- Color-coding Connector, Connect tasks, Consumer states
- Key/message text highlighting field automatically set to search text filter's text
Changed
- Reducing unnecessary logging
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Improved text filter searching performance/polling
- Correct number of "checked" messages when using a small page size with a text filter
- Optimised other searching
- Preferences pane padding
- MessageBox obfuscation error, when trying to load second instance
Security
- Nothing
v2.0.2 (01-Jul-2025)
Added
- Nothing
Changed
- Making masker pane "Cancel" link bold
Deprecated
- Nothing
Removed
- Nothing
Fixed
- "Not on FX application thread" error fix
- Other critical topic message search fixes / improvements
Security
- Nothing
v2.0.1 (01-Jul-2025)
Added
- Nothing
Changed
- Text filter paging warning now only occurs once (or when a particularly low paging size is chosen)
- Some language improvements
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Resource hog: duplicated background traversal of a topic when searching
- Edge case race conditions where some notifications during topic search would erroneously say zero messages were received
Security
- Nothing
v2.0.0 (30-Jun-2025)
Added
- Ability to refresh single Connector tasks
- Ability to test individual Connector/ksqlDB configurations (instead of all configured)
- Added scrollbar to Message search screen/form, to accommodate smaller resolutions
- Some prompt texts re: truststore, to Kafka Security tab
- Message text search filter by key, value, headers, or any combination
- Select a cluster color, and see it presented on various screens
- Warning if performing text search filter with small page size
Changed
- Multiple instance detection now relies on a file mutex rather than port, allowing concurrent usage by multiple users on some terminal
- First instance window will restore and shake (if hidden), on a second load attempt
- Allow removal of any Kafka Connect / ksqlDB multi-configuration, not just 2nd+ (remove link now present and all configurations)
- Messages search button re-located
- Incorporated the main menu into header bar, saving space
- Header bar styled according to theme
- Halving Kafka message/event memory consumption
- Masker popup "Cancel" button more visible with background
- Masker popup for message search with text filter contains number of matched records
- Messages displayed in streaming fashion (as they arrive) even for non-live streaming searches, mostly useful for long-lived searches (i.e., when using text filter on a large topic)
- Improved Kafka message search stats
Deprecated
- Nothing
Removed
- Removed default random color assignment to duplicated tabs; now only configured colors will apply, or none
Fixed
- Ignore offline nodes from target calculation when altering a replication factor
- Various topic dump delimiter bugs (particularly when encountering empty values), now parser-friendly
- Topic dump header for value schema ID now VALUE_SCHEMA_ID instead of VALUE_SCHEMA_VALUE
- Topic dump now including key/value schema IDs when requested (may have been empty before)
- Google search (for a setting) no longer disabled if the setting is non-editable (topic / broker settings)
- __consumer_offsets deserializer now selected by default when viewing __consumer_offsets topic
- NPE when adding a second Kafka Connect or ksqlDB configuration, if no name exists in first
Security
- Nothing
v1.2.2 (14-Jun-2025)
Added
- Edit broker settings from Settings tab
- Edit topic settings from Settings tab
- Search button placeholder on Topic messages table
- Pressing enter key on Messages tab performs search
- Quickly search (Google) for more info topic or broker setting keys
- Detect and format non-string headers automatically, display most suitable type
- Kafka 4.0 support
Changed
- Library updates
- Main menu padding & font size
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Minor language bugs
- Display / styling
- NullPointerException on Topic overview screen when leader info missing from broker
Security
- Nothing
v1.2.1 (05-May-2025)
Added
- Hex serde, to allow deserialization to hex as well as produce binary messages (via hex)
Changed
- More useful stacktraces in error cases, also for inclusion in bug submissions
- Some styling/language improvements
- Better IPV6 support for edge-case scenarios
- Hex views general improvements, including showing memory offsets
- Raw view now provides pre-deserialization key and value, as Hex table
Deprecated
- Nothing
Removed
- java.net.preferIPv4Stack is now unset/false
Fixed
- Allow entering of SASL (sasl.*) security properties, such as sasl.oauthbearer.token.endpoint.url
- Display as: HEX displays pre-deserialization hexadecimal
- No longer see 'REPLACEMENT CHARACTER' (U+FFFD) in Hex views
- Duplicating tab via context menu colour-coding parent tab logo correctly
Security
- Nothing
v1.2.0 (14-April-2025)
Added
- Ability to create duplicate cluster tabs, for concurrent exploring and easier correlation
- Ability to clone cluster configuration
- Ability to refresh topic information on messages panel (i.e., to refresh selectable SerDes and partitions, etc.)
- Auto-select Schema Registry as key/value deserializer/serializer, if suitable schema found in Schema Registry
- Ability to auto-detect proxies
- HTTP and SOCK proxy configuration support
- Filterable topic lists in ACL create views
- Topic favourites, easier access to commonly-used topics
Changed
- Notification popup (bottom right) text now bold
- Various language improvements
- Re-worked cluster tab context menus
- Default ACL host to "*"
- Default ACL user to "User:my_user"
Deprecated
- Nothing
Removed
- Nothing
Fixed
- ksqlDB hostname DNS issue (Vert.x) for private internal hostnames, whereby internal DNS servers (such as a router) were not being looked-up via JNDI
- Topic "other" setting description was replaced with default value rather than description
- NPE when non-primary mouse clicked on area of a deleted cluster config (rare)
- Main window split-pane divider always resetted to 50% on Linux
- Topics list became non-responsive if re-arranged a cluster position in the cluster tree
Security
- Nothing
v1.1.7 (30-March-2025)
Added
- New substitution variables: epoch.seconds, epoch.millis
- Cell-level tooltips for most tables, useful for smaller displays with truncated columns
- Progress feedback stats on message or dump search: messages and data size
- Stats on most result pages re: tables
- Warning popup when loading second instance of app (as opposed to silently shutting down)
Changed
- Pre-select topic on consumer offsets tweak dialog, if instantiated from topic view
- Notification popups take up less space
- Tooltips have smaller font
- Produce message substitution example button reads "Test" instead of "Substitute", less confusing on impact
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Schema Registry timeouts always set correctly
- Schema Registry timeout parsing correctly (when also using proxy configuration)
- Schema Registry "trust all certs" works in all scenarios, if configured on
Security
- Nothing
v1.1.6 (02-March-2025)
Added
- Copy summary of all rows in all tables via context menu
- Reproduce event to message dialog, pre-configuring key, value, headers, and serdes
- Message/key/header/token variable substitution, supporting various functions
Changed
- Improved topic streaming performance & high-volume backpressure tweaks
- Using JFX jmods instead of JARs (irrelevant to user)
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Streaming topics ordering improvements
- JSON formatter treats floating points as BigDecimals, which avoids scientific-notation for display
- Windows start menu group now "KafkIO" instead of "Unknown"
- Confusing/inaccurate tooltips
- AzureEntraClientCallbackHandler showing correctly on security callback dropdowns
- Rare Azure connectivity bugs
- Other minor bugs
Security
- Nothing
v1.1.5 (16-February-2025)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Dialog pane loading issues, particularly with produce message dialog
- Topic dump suggested paths fix
Security
- Nothing
v1.1.4 (16-February-2025)
Added
- Re-arrange clusters either via context-menu or drag & drop
- Dockable/un-dockable & pinnable windows for better management with large datasets
- Set message.timestamp.type from topic config dialog
- Topic dump creates parent directories if non-existent
- Network reachability testing tool
Changed
- Look and feel of buttons/controls, and theme colours
- Performance: all ksqlDB tabs now optionally loaded by the user
- Performance: data for topic view tabs are loaded upon tab selection only, not preloaded
- Several more tasks now cancellable
- Ability to maintain separate persisted views when switching between ksqlDB clusters
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Serialization issues with KafkIO instances communicating with each other (prevent multiple loads)
- Edge-case with JFX cache of another JFX-based app preventing KafkIO load
- Topic dump correctly remembers last specified directory
- ksqlDB statement results table now takes up full available height
- ksqlDB inefficient or non-necessary/duplicate communication to REST API in some cases
Security
- Nothing
v1.1.3 (03-February-2025)
Added
- Kafka Connect: ability to stop, pause, & start connectors, and reset connector offsets
- Ability to dump a topic to a file, using various criteria and data points
Changed
- Background jobs disappear from list when finished, rather than stay in list
- Add larger polling/page size options
- Default search page/poll size now 2000
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Various Kafka Connect connector management issues
- Rare display bug which could crash the application, particularly when scrolling
- Schema Registry REST issue
- JKS converter utility error if no password supplied
- Multiple minor bugs and display or language improvements
Security
- Nothing
v1.1.2 (26-January-2025)
Added
- Nothing
Changed
- "Add Cluster" instead of "New Connection"
- Other minor language improvements
- Logs no longer stored under a versioned directory, therefore old logs will be cleaned up as per standard rollovers, even after upgrading
Deprecated
- Nothing
Removed
- Unused preferences configuration
Fixed
- IPV6 DNS servers used incorrectly at times for ksqlDB connections, leading to obscure connection errors
- ksqlDB connection "default" port (if not specified) was 8088; now defaulting to 80 or 443
- NullPointerException(s) when switching from cluster to cluster in particular sequences
Security
- Nothing
v1.1.1 (19-January-2025)
Added
- Ability to copy text from any column or row, from any table
- Progress masker for KSQL selects (visual feedback that something is happening)
Changed
- Huge start-up performance boost on Windows, fixing slowness introduced in a previous release (Windows Defender the cause)
- Reduced package and installation file size by ~25%, and decreased application file count by 244 files (increasing installation speed)
- Moved "collapse after search" checkbox to minimise wrapping upon horizontally shrinking window
- Several language improvements changes
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Event key was not being trimmed (i.e., if large), even if size breached user-chosen maximum size
- NullPointerException if viewing a message with a null (not empty) message
- Consumer view NullPointerException if offset info from Kafka was null
- Repeated Kafka background re-connects (noisy logs) if user manually cancelled a connection before it succeeded
Security
- Nothing
v1.1.0 (14-January-2025)
Added
- Include message headers in message text filtering
- ksqlDB management support, with KSQL editor and streaming
- Kafka Connect connectors management support
- Live stream topic messages
- Ability to specify topic messages page or poll size
- Ability to specify topic key/message size before clipping (save memory)
- Ability to specify custom headers for any REST API client (i.e., if some cloud or other providers require)
- Ability to produce up to 100k messages at a time
- Status bar with memory stats
- Ability to configure all timeouts for all HTTP and Kafka clients
- Protobuf3 syntax highlighting
- Context menu icons
- Various tips and hints
- Ability to cancel certain background/loading tasks
Changed
- Many display improvements
- Many language improvements
- Immediately re-create HTTP clients after config changes
- Improved Overview screen
- Semantics of many timeouts
- JSON and XML syntax-highlighting improvements
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Topic config update wasn't updating if value selected from example/suggested hyperlink
- Many UI edge-case issues
- Various validations
- Many memory-consumption improvements
Security
- Nothing
v1.0.1 (19-December-2024)
Added
- Some timeouts to prevent infinite waiting screen in rare circumstances
Changed
- Slight increase in some default Kafka/Schema Registry timeouts
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Health view was blank in some situations
Security
- Nothing
v1.0.0 (17-December-2024)
Added
- Oauth support for Strimzi, Azure Event Hub (Microsoft Entra) and AWS (IAM)
- Ability to remove consumer group topic (start again)
- View log buttons from various screens
- Delete icon to Schema Registry versions table
- Debug Linux/MacOS/Windows scripts
- Ability to send null headers
- Ability to export, import, and reset settings on MacOS (previously Windows/Linux only)
- RPM package for Linux
Changed
- Using runtime instead of native image
- Issue submission max chars increase to 40k chars
- Improved logging format
- Validation icons coloured
- MacOS portable ZIP now contains standard app bundle and scripts outside of bundle
Deprecated
- Nothing
Removed
- Native image
Fixed
- ACL producer validation bug
- Kerberos configuration bug
- SASL example bug, some values remaining during example switch
Security
- Nothing
v0.0.11 (28-November-2024)
Added
- Debug startup scripts batch/shell scripts for Windows, Linux, MacOS
- Ability to view logs directly from some dialogs
- Ability to send null headers in an event/message
- Ability to unsubscribe/delete completely consumer topic offsets
- EXPERIMENTAL: Strimzi sasl.client.callback.handler.class support (JaasClientOauthLoginCallbackHandler)
Changed
- Added delete icon on schema versions table column
- Better logging
- Ability to alter offsets directly from subscribed topics offsets tab (via context menu)
- Validation warnings and errors in colour
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Potential NPE when displaying topics if error determining offsets (due to Kafka version incompatibility or other error)
- ACL producer form validation bug
- No longer displaying SSL truststore config at times on schema registry or security, if SSL disabled (introduced 0.0.9)
Security
- Nothing
v0.0.10 (12-November-2024)
Added
- Open config file in text editor
- Report issues, feature requests, feedback from GUI or via browser
- Show logs folder, in console, or latest log in text editor
- Schema registry creation/update confirmation popup
- Search messages view tooltips / info
- Search messages pane collapsable checkbox
- Warnings if schema-encoded keys or values are detected without Schema Registry deserializer
Changed
- Rename from KafkaTopical to KafkIO
- Always create a config file even if no clusters configured
- Search messages search box right aligned
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Missing JSWBlend_ADDPeer hint on Linux caused errors/display
- Issue natively opening files on some Linux distros, now fall back to xdg-open
- Minor display/styling
- Honouring do not show hints setting in some dialogs
Security
- Nothing
v0.0.9 (05-November-2024)
Added
- Copy Kafka event details to clipboard from event/message table context menu
- Splash screen
- Full ACL administration capability
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Some style issues to prevent minor movement caused by buttons changing size
Security
- Nothing
v0.0.8 (24-October-2024)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Critical startup FileSystemNotFoundException error, where app fails to load on new installs
- Fixing run_console.bat on Windows, which incorrectly assumed "cat" exists by default on Windows machines
Security
- Nothing
v0.0.7 (23-October-2024)
Added
- Text search for schemas, messages, and produce message dialogs
- Schema Registry schema creation & editing
Changed
- Faster display of messages (modal popup time minimised)
- Cut/undo/redo/delete in produce message context menus
- Display improvements (compacting) for smaller screens
- Various performance improvements
- Various UI improvements
Deprecated
- Nothing
Removed
- Some undesired sout logging from time picker control
Fixed
- Schema ID and type fields' labels were mixed up on key/message value popups
- Minor performance improvements
Security
- Nothing
v0.0.6 (29-August-2024)
Added
- Topic deletion warning in the event where a deleted topic still persists
Changed
- Partition and offset info on lower message pane view, and popup
Deprecated
- Nothing
Removed
- Nothing
Fixed
- SASL SCRAM incorrect sasl.mechanism value bug fixed
Security
- Nothing
v0.0.5 (28-August-2024)
Added
- Consumer administration (at cluster or topic level)
- Consumer group delete
- Consumer offset reset earliest
- Consumer offset reset latest
- Consumer offset reset by timestamp
- Consumer offset reset by specified offsets
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Nothing
Security
- Nothing
v0.0.4 (13-August-2024)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Schema Registry reflection error
- Adding header to message reflection error
- macOs portable ZIP README.txt typos
Security
- Nothing
v0.0.3 (12-August-2024)
Added
- Create topics
- Alter topic settings
- Clear topic messages
- Delete topics
- Produce messages with key, value (empty and null), headers, and partition
- Serializer/deserializer support for unsigned 32-bit and 64-bit integers
Changed
- Files run.sh and README.txt now in macOS portable ZIP
- File README.txt now Linux portable ZIP
- clusters.yml format change seamless migration
- Clearly show difference between empty and null value in messages table and details views
- Better visual differentiation between line numbers and contents (i.e., a message)
Deprecated
- Nothing
Removed
- Reduced card shadow glow
Fixed
- Some info popup text improvements
- Config file reader less sensitive to unknown properties
Security
- Nothing
v0.0.2 (20-July-2024)
Added
- Nothing
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Accessibility tools/readers could trigger errors
- Some embedded binaries would fail to load due to MacOS security (third-party and not signed), and architectural naming conflicts. Notably snappy, lz4 & zstd binaries were affected.
Security
- Nothing
v0.0.1 (19-July-2024)
Added
- Configure/delete/edit cluster connections
- Test broker and schema registry connection
- SSL and SASL
- Logs, and rolling logs
- Event Log UI with ability to report an issue
- JKS Convert tool, to create JKS from other keystore types
- Health logger UI
- Memory-stick mode (configuration file stored by binary)
- Ability and warning to copy/overwrite existing config when flipping memory-stick mode
- Various key-bindings and shortcuts (configurable in a later release)
- Import and export configuration
- Proxy configuration, including custom SSL certs and ability to trust all
- Store password in O/S keychain
- Display settings (theme, font, hints)
- Global Kafka settings (timeouts, etc.)
- Cluster overview UI, showing version and enabled features and broker counts, general health, etc.
- Cluster broker UI
- Cluster topic and messages UI
- Advanced messages search, including by offset, dates, partition, and text
- Choice of key/value deserialization
- Decompression support for gzip, snappy, lz4, zstd
- Schema support for JSON, Protobuf, AVRO
- View keys/values as JSON, XML, Hex, or string, raw view
- View headers
- Cluster consumers UI
- Cluster schema registry UI with ability to see old schemas also
- Menu-item to show logs or config folders
- Menu item to open terminal in config folder
- Automatically check for latest version
- Opt-out of latest versions
- Ignore "this" update (until the next one)
- Debug mode
- About UI with version information
- Environment and system properties viewer
- CLI-mode
- Auto-detect running instances (prevent multiple instances running)
- Automatic cluster throttling (prevent too much I/O with brokers)
- Remember size of screen and various horizon/vertical split-pane positions
Changed
- Nothing
Deprecated
- Nothing
Removed
- Nothing
Fixed
- Nothing
Security
- Nothing