Releases: karafka/karafka-web
v0.10.4
- [Breaking] Drop Ruby
3.0
support according to the EOL schedule. - [Enhancement] Extract producers tracking
sync_threshold
into an internal config. - [Enhancement] Support complex Pro license loading strategies (Pro).
- [Enhancement] Change default
retention.ms
for the metrics topic to support Redpanda Cloud defaults (#450). - [Enhancement] Include subscription group id in the consumers error tracking metadata.
- [Enhancement] Collect metadata details of low level client errors when error tracking.
- [Enhancement] Collect metadata details of low level listener errors when error tracking.
- [Fix] Toggle menu button post-turbo refresh stops working.
v0.10.3
- [Feature] Introduce ability to brand Web UI with environment (Pro).
- [Enhancement] Provide assignment status in the routing (Pro).
- [Enhancement] Support schedule cancellation via Web UI.
- [Enhancement] Rename "probing" to "tracing" to better reflect what this commanding option does.
- [Fix] Fix not working primary and secondary alert styles.
v0.10.2
- [Feature] Support Future Messages management (Pro).
- [Enhancement] Do not live-reload when form active.
- [Fix] Undefined method
deep_merge
for an instance of Hash. - [Fix] Prevent live-polling on elements wrapped in a button.
- [Fix] Fix errors extractor failure on first message-less tick / eofed
v0.10.1
- [Feature] Support Recurring Tasks management (Pro).
- [Enhancement] Optimize command buttons so they occupy less space.
- [Enhancement] Improve tables headers capitalization.
- [Enhancement] Prevent live-polling when user hovers over actionable links to mitigate race conditions.
- [Fix] Fix partial lack of tables hover in daily mode.
- [Fix] Fix lack of tables hover in dark mode.
- [Fix] Normalize various tables types styling.
- [Fix] Fix ranges selectors position on wide screens.
v0.10.0
- [Breaking] Rename and reorganize visibility filter to policies engine since it is not only about visibility.
- [Feature] Replace Bootstrap with with tailwind + DaisyUI.
- [Feature] Redesign the UI and move navigation to the left to make space for future features.
- [Feature] Support per request policies for inspection and operations limitation.
- [Feature] Provide Search capabilities in the Explorer (Pro).
- [Feature] Provide dark mode.
- [Enhancement] Set
enable.partition.eof
tofalse
for Web UI consumer group as it is not needed. - [Enhancement] Allow for configuration of extra
kafka
scope options for the Web UI consumer group. - [Enhancement] Support Karafka
#eofed
consumer action. - [Enhancement] Provide topics watermarks inspection page (Pro).
- [Enhancement] Use Turbo to improve usability.
- [Enhancement] Round poll age reporting to precision of 2 reducing the payload size.
- [Enhancement] Round utilization reporting to precision of 2 reducing the payload size.
- [Enhancement] Validate states materialization lag in the status view.
- [Enhancement] Promote topics data pace to OSS.
- [Enhancement] Rename and normalize dashboard tabs.
- [Enhancement] Enable live data polling on the first visit so it does not have to be enabled manually.
- [Enhancement] Allow disabling ability to republish messages via policies.
- [Enhancement] Display raw numerical timestamp alongside message time.
- [Enhancement] Support
/topics
root redirect. - [Enhancement] Prevent explorer from displaying too big payloads (bigger than 1MB by default)
- [Enhancement] Include deserialization object allocation stats.
- [Enhancement] Improve how charts with many topics work.
- [Enhancement] Count and display executed jobs independently from processed batches.
- [Enhancement] Prevent karafka-web from being configured before karafka is configured.
- [Enhancement] Use
ostruct
from RubyGems in testing. - [Enhancement] Indicate in the status reporting whether Karafka is OSS or Pro.
- [Enhancement] Ship JS and CSS assets using Brotli and Gzip when possible.
- [Enhancement] Introduce a
/ux
page to ease with styling improvements and components management. - [Enhancement] disallow usage of
<script>
blocks to prevent XSS. - [Enhancement] Display full subscription group information in the Routing view, including injectable defaults.
- [Enhancement] Report Karafka consumer server execution mode.
- [Enhancement] Expose
sync_threshold
consumer tracking config to allow aligning of error-intense applications. - [Refactor] Optimize subscription group data tracking flow.
- [Refactor] Namespace migrations so migrations related to each topic data are in an independent directory.
- [Refactor] Use errors for deny flow so request denials can occur from the inspection layer.
- [Maintenance] Require
karafka
2.4.7
due to fixes and API changes. - [Fix] Disallow quiet and stop commands for swarm workers.
- [Fix] Disallow quiet and stop commands for embedded workers.
- [Fix] Fix invalid deserialization metadata display in the per-message Explorer view.
- [Fix] Fix a case where started page refresh would update content despite limiters being in place.
- [Fix] Ruby 3.4.0 preview1 - No such file or directory.
- [Fix] Fix the live poll button state flickering when disabled.
- [Fix] Pace computation does not compensate for partial data reported.
- [Fix] DLQ parent topics get classified as DLQ in the Web.
- [Fix] Add missing space in the attempt label.
- [Fix] Fix lack of highlight of "Consumers" navigation when in the "Commands" tab.
- [Fix] Fix not working page reporting in breadcrumbs.
- [Fix] Fix invalid redirect when trying to view particular errors partition time location.
- [Fix] Fix several UI inconsistencies.
- [Fix] License identifier
LGPL-3.0
is deprecated for SPDX (#2177). - [Fix] Do not include prettifying the payload for visibility in the resource computation cost.
Upgrade Notes
This is a major release that brings many things to the table.
This version of the Karafka Web UI requires Karafka >= 2.4.7
. You can either upgrade both or upgrade Karafka first and then the Web UI. Karafka 2.4.7
is also compatible with Web UI 0.9.1
; thus, you can upgrade one at a time.
Configuration
Visibility Filters have been reorganized into messages policies.
Please read the Policies API documentation and convert your visibility filters to policies.
Your existing message-related visibility filter policies should now be assigned to a new configuration:
Karafka::Web.setup do |config|
config.ui.policies.messages = MyCustomRequestsPolicy.new
end
Deployment
Because of the reporting schema update, it is recommended to:
- Make sure you have upgraded to
0.9.1
before and that it was fully deployed. - Test the upgrade on a staging or dev environment.
- The Web UI interface may throw 500 errors during the upgrade because of schema incompatibility (until Puma is deployed and all consumers redeployed). This will have no long-term effects and can be ignored.
Karafka::Web::Errors::Processing::IncompatibleSchemaError
is expected. It is part of the Karafka Web UI zero-downtime deployment strategy. This error allows the Web UI materialization consumer to back off and wait for it to be replaced with a new one.- Perform a rolling deployment (or a regular one) and replace all consumer processes.
- Update the Web UI Puma.
- No CLI command execution is required.
- Enjoy.
v0.10.0.rc2
- [Breaking] Rename and reorganize visibility filter to policies engine since it is not only about visibility.
- [Feature] Replace Bootstrap with with tailwind + DaisyUI.
- [Feature] Redesign the UI and move navigation to the left to make space for future features.
- [Feature] Support per request policies for inspection and operations limitation.
- [Feature] Provide Search capabilities in the Explorer (Pro).
- [Feature] Provide dark mode.
- [Enhancement] Set
enable.partition.eof
tofalse
for Web UI consumer group as it is not needed. - [Enhancement] Allow for configuration of extra
kafka
scope options for the Web UI consumer group. - [Enhancement] Support Karafka
#eofed
consumer action. - [Enhancement] Provide topics watermarks inspection page (Pro).
- [Enhancement] Use Turbo to improve usability.
- [Enhancement] Round poll age reporting to precision of 2 reducing the payload size.
- [Enhancement] Round utilization reporting to precision of 2 reducing the payload size.
- [Enhancement] Validate states materialization lag in the status view.
- [Enhancement] Promote topics data pace to OSS.
- [Enhancement] Rename and normalize dashboard tabs.
- [Enhancement] Enable live data polling on the first visit so it does not have to be enabled manually.
- [Enhancement] Allow disabling ability to republish messages via policies.
- [Enhancement] Display raw numerical timestamp alongside message time.
- [Enhancement] Support
/topics
root redirect. - [Enhancement] Prevent explorer from displaying too big payloads (bigger than 1MB by default)
- [Enhancement] Include deserialization object allocation stats.
- [Enhancement] Improve how charts with many topics work.
- [Enhancement] Count and display executed jobs independently from processed batches.
- [Enhancement] Prevent karafka-web from being configured before karafka is configured.
- [Enhancement] Use
ostruct
from RubyGems in testing. - [Enhancement] Indicate in the status reporting whether Karafka is OSS or Pro.
- [Enhancement] Ship JS and CSS assets using Brotli and Gzip when possible.
- [Enhancement] Introduce a
/ux
page to ease with styling improvements and components management. - [Enhancement] disallow usage of
<script>
blocks to prevent XSS. - [Enhancement] Display full subscription group information in the Routing view, including injectable defaults.
- [Enhancement] Report Karafka consumer server execution mode.
- [Enhancement] Expose
sync_threshold
consumer tracking config to allow aligning of error-intense applications. - [Refactor] Optimize subscription group data tracking flow.
- [Refactor] Namespace migrations so migrations related to each topic data are in an independent directory.
- [Refactor] Use errors for deny flow so request denials can occur from the inspection layer.
- [Maintenance] Require
karafka
2.4.7
due to fixes and API changes. - [Fix] Disallow quiet and stop commands for swarm workers.
- [Fix] Disallow quiet and stop commands for embedded workers.
- [Fix] Fix invalid deserialization metadata display in the per-message Explorer view.
- [Fix] Fix a case where started page refresh would update content despite limiters being in place.
- [Fix] Ruby 3.4.0 preview1 - No such file or directory.
- [Fix] Fix the live poll button state flickering when disabled.
- [Fix] Pace computation does not compensate for partial data reported.
- [Fix] DLQ parent topics get classified as DLQ in the Web.
- [Fix] Add missing space in the attempt label.
- [Fix] Fix lack of highlight of "Consumers" navigation when in the "Commands" tab.
- [Fix] Fix not working page reporting in breadcrumbs.
- [Fix] Fix invalid redirect when trying to view particular errors partition time location.
- [Fix] Fix several UI inconsistencies.
- [Fix] License identifier
LGPL-3.0
is deprecated for SPDX (#2177). - [Fix] Do not include prettifying the payload for visibility in the resource computation cost.
Upgrade Notes
This is a major release that brings many things to the table.
This version of the Karafka Web UI requires Karafka >= 2.4.7
. You can either upgrade both or upgrade Karafka first and then the Web UI. Karafka 2.4.7
is also compatible with Web UI 0.9.1
; thus, you can upgrade one at a time.
Configuration
Visibility Filters have been reorganized into messages policies.
Please read the Policies API documentation and convert your visibility filters to policies.
Your existing message-related visibility filter policies should now be assigned to a new configuration:
Karafka::Web.setup do |config|
config.ui.policies.messages = MyCustomRequestsPolicy.new
end
Deployment
Because of the reporting schema update, it is recommended to:
- Make sure you have upgraded to
0.9.1
before and that it was fully deployed. - Test the upgrade on a staging or dev environment.
- The Web UI interface may throw 500 errors during the upgrade because of schema incompatibility (until Puma is deployed and all consumers redeployed). This will have no long-term effects and can be ignored.
Karafka::Web::Errors::Processing::IncompatibleSchemaError
is expected. It is part of the Karafka Web UI zero-downtime deployment strategy. This error allows the Web UI materialization consumer to back off and wait for it to be replaced with a new one.- Perform a rolling deployment (or a regular one) and replace all consumer processes.
- Update the Web UI Puma.
- No CLI command execution is required.
- Enjoy.
v0.10.0.rc1
- [Breaking] Rename and reorganize visibility filter to policies engine since it is not only about visibility.
- [Feature] Replace Bootstrap with with tailwind + DaisyUI.
- [Feature] Redesign the UI and move navigation to the left to make space for future features.
- [Feature] Support per request policies for inspection and operations limitation.
- [Feature] Provide Search capabilities in the Explorer (Pro).
- [Feature] Provide dark mode.
- [Enhancement] Support Karafka
#eofed
consumer action. - [Enhancement] Provide topics watermarks inspection page (Pro).
- [Enhancement] Use Turbo to improve usability.
- [Enhancement] Round poll age reporting to precision of 2 reducing the payload size.
- [Enhancement] Round utilization reporting to precision of 2 reducing the payload size.
- [Enhancement] Validate states materialization lag in the status view.
- [Enhancement] Promote topics data pace to OSS.
- [Enhancement] Rename and normalize dashboard tabs.
- [Enhancement] Enable live data polling on the first visit so it does not have to be enabled manually.
- [Enhancement] Allow disabling ability to republish messages via policies.
- [Enhancement] Display raw numerical timestamp alongside message time.
- [Enhancement] Support
/topics
root redirect. - [Enhancement] Prevent explorer from displaying too big payloads (bigger than 1MB by default)
- [Enhancement] Include deserialization object allocation stats.
- [Enhancement] Improve how charts with many topics work.
- [Enhancement] Count and display executed jobs independently from processed batches.
- [Enhancement] Prevent karafka-web from being configured before karafka is configured.
- [Enhancement] Use
ostruct
from RubyGems in testing. - [Enhancement] Indicate in the status reporting whether Karafka is OSS or Pro.
- [Enhancement] Ship JS and CSS assets using Brotli and Gzip when possible.
- [Enhancement] Introduce a
/ux
page to ease with styling improvements and components management. - [Enhancement] disallow usage of
<script>
blocks to prevent XSS. - [Enhancement] Display full subscription group information in the Routing view, including injectable defaults.
- [Enhancement] Report Karafka consumer server execution mode.
- [Enhancement] Expose
sync_threshold
consumer tracking config to allow aligning of error-intense applications. - [Refactor] Optimize subscription group data tracking flow.
- [Refactor] Namespace migrations so migrations related to each topic data are in an independent directory.
- [Refactor] Use errors for deny flow so request denials can occur from the inspection layer.
- [Maintenance] Require
karafka
2.4.7
due to fixes and API changes. - [Fix] Disallow quiet and stop commands for swarm workers.
- [Fix] Disallow quiet and stop commands for embedded workers.
- [Fix] Fix invalid deserialization metadata display in the per-message Explorer view.
- [Fix] Fix a case where started page refresh would update content despite limiters being in place.
- [Fix] Ruby 3.4.0 preview1 - No such file or directory.
- [Fix] Fix the live poll button state flickering when disabled.
- [Fix] Pace computation does not compensate for partial data reported.
- [Fix] DLQ parent topics get classified as DLQ in the Web.
- [Fix] Add missing space in the attempt label.
- [Fix] Fix lack of highlight of "Consumers" navigation when in the "Commands" tab.
- [Fix] Fix not working page reporting in breadcrumbs.
- [Fix] Fix invalid redirect when trying to view particular errors partition time location.
- [Fix] Fix several UI inconsistencies.
- [Fix] License identifier
LGPL-3.0
is deprecated for SPDX (#2177). - [Fix] Do not include prettifying the payload for visibility in the resource computation cost.
Upgrade Notes
This is a major release that brings many things to the table.
This version of the Karafka Web UI requires Karafka >= 2.4.7
. You can either upgrade both or upgrade Karafka first and then the Web UI. Karafka 2.4.7
is also compatible with Web UI 0.9.1
; thus, you can upgrade one at a time.
Configuration
Visibility Filters have been reorganized into messages policies.
Please read the Policies API documentation and convert your visibility filters to policies.
Your existing message-related visibility filter policies should now be assigned to a new configuration:
Karafka::Web.setup do |config|
config.ui.policies.messages = MyCustomRequestsPolicy.new
end
Deployment
Because of the reporting schema update, it is recommended to:
- Make sure you have upgraded to
0.9.1
before and that it was fully deployed. - Test the upgrade on a staging or dev environment.
- The Web UI interface may throw 500 errors during the upgrade because of schema incompatibility (until Puma is deployed and all consumers redeployed). This will have no long-term effects and can be ignored.
Karafka::Web::Errors::Processing::IncompatibleSchemaError
is expected. It is part of the Karafka Web UI zero-downtime deployment strategy. This error allows the Web UI materialization consumer to back off and wait for it to be replaced with a new one.- Perform a rolling deployment (or a regular one) and replace all consumer processes.
- Update the Web UI Puma.
- No CLI command execution is required.
- Enjoy.
v0.10.0.beta1
- [Breaking] Rename and reorganize visibility filter to policies engine since it is not only about visibility.
- [Feature] Replace Bootstrap with with tailwind + DaisyUI.
- [Feature] Redesign the UI and move navigation to the left to make space for future features.
- [Feature] Support per request policies for inspection and operations limitation.
- [Feature] Provide Search capabilities in the Explorer (Pro).
- [Feature] Provide dark mode.
- [Enhancement] Provide topics watermarks inspection page (Pro).
- [Enhancement] Use Turbo to improve usability.
- [Enhancement] Round poll age reporting to precision of 2 reducing the payload size.
- [Enhancement] Round utilization reporting to precision of 2 reducing the payload size.
- [Enhancement] Validate states materialization lag in the status view.
- [Enhancement] Promote topics data pace to OSS.
- [Enhancement] Rename and normalize dashboard tabs.
- [Enhancement] Enable live data polling on the first visit so it does not have to be enabled manually.
- [Enhancement] Allow disabling ability to republish messages via policies.
- [Enhancement] Display raw numerical timestamp alongside message time.
- [Enhancement] Support
/topics
root redirect. - [Enhancement] Prevent explorer from displaying too big payloads (bigger than 1MB by default)
- [Enhancement] Include deserialization object allocation stats.
- [Enhancement] Improve how charts with many topics work.
- [Enhancement] Count and display executed jobs independently from processed batches.
- [Enhancement] Prevent karafka-web from being configured before karafka is configured.
- [Enhancement] Use
ostruct
from RubyGems in testing. - [Enhancement] Indicate in the status reporting whether Karafka is OSS or Pro.
- [Enhancement] Ship JS and CSS assets using Brotli and Gzip when possible.
- [Enhancement] Introduce a
/ux
page to ease with styling improvements and components management. - [Enhancement] disallow usage of
<script>
blocks to prevent XSS. - [Enhancement] Display full subscription group information in the Routing view, including injectable defaults.
- [Enhancement] Report Karafka consumer server execution mode.
- [Enhancement] Expose
sync_threshold
consumer tracking config to allow aligning of error-intense applications. - [Refactor] Optimize subscription group data tracking flow.
- [Refactor] Namespace migrations so migrations related to each topic data are in an independent directory.
- [Refactor] Use errors for deny flow so request denials can occur from the inspection layer.
- [Maintenance] Require
karafka
2.4.7
due to fixes and API changes. - [Fix] Disallow quiet and stop commands for swarm workers.
- [Fix] Disallow quiet and stop commands for embedded workers.
- [Fix] Fix invalid deserialization metadata display in the per-message Explorer view.
- [Fix] Fix a case where started page refresh would update content despite limiters being in place.
- [Fix] Ruby 3.4.0 preview1 - No such file or directory.
- [Fix] Fix the live poll button state flickering when disabled.
- [Fix] Pace computation does not compensate for partial data reported.
- [Fix] DLQ parent topics get classified as DLQ in the Web.
- [Fix] Add missing space in the attempt label.
- [Fix] Fix lack of highlight of "Consumers" navigation when in the "Commands" tab.
- [Fix] Fix not working page reporting in breadcrumbs.
- [Fix] Fix invalid redirect when trying to view particular errors partition time location.
- [Fix] Fix several UI inconsistencies.
- [Fix] License identifier
LGPL-3.0
is deprecated for SPDX (#2177). - [Fix] Do not include prettifying the payload for visibility in the resource computation cost.
v0.9.1
v0.9.0
- [Breaking] Drop Ruby
2.7
support. - [Feature] Provide ability to stop and quiet running consumers (Pro).
- [Feature] Provide ability to probe (get backtraces) of any running consumer (Pro).
- [Feature] Provide cluster lags in Health (Pro).
- [Feature] Provide ability to inspect cluster nodes configuration (Pro).
- [Feature] Provide ability to inspect cluster topics configuration (Pro).
- [Feature] Provide messages distribution graph statistics for topics (Pro).
- [Enhancement] Provide first offset in the OSS jobs tab.
- [Enhancement] Support failover for custom deserialization of headers and key in the explorer (Pro).
- [Enhancement] Support failover for custom deserialization of headers and key in the explorer (Pro).
- [Enhancement] Limit length of
key
presented in the list view of the explorer. - [Enhancement] Improve responsiveness on big screens by increasing max width.
- [Enhancement] Auto-qualify topics with dlq/dead_letter case insensitive name components to DLQ view.
- [Enhancement] Make tables responsive.
- [Enhancement] Provide page titles for ease of navigation.
- [Change] Rename Cluster => Topics to Cluster => Replication to better align with what is shows.
- [Change] Make support messages more entertaining.
- [Change] Rename
processing.consumer_group
toadmin.group_id
for consistency with Karafka. - [Refactor] Normalize what is process name and process id.
- [Refactor] Create one
pro/
namespace for all Web related sub-modules. - [Refactor] Extract alerts into a common component.
- [Refactor] Generalize charts generation.
- [Fix] Fix invalid return when paginating with offsets.
- [Fix] Improve responsiveness of summary in the consumers view for lower resolutions.
- [Fix] Align pages titles format.
- [Fix] Fix missing link from lag counter to Health.
- [Fix] Fix a case where on mobile charts would not load correctly.
- [Fix] Fix cases where long consumer names would break UI.
- [Fix] Explorer deserializer wrongly selected for pattern matched topics.
- [Fix] Fix 404 error page invalid recommendation of
install
instead ofmigrate
. - [Fix] Fix dangling
console.log
. - [Fix] Fix a case where consumer assignments would not be truncated on the consumers view.