Release Notes
For additional information check our sprint demo videos and blogs.
2.31.0
Release: August 21, 2026
Features:
- AI: Automate MCP pin compatibility validation (replace manual contract tests)
- API: Perform robust and consistent query param validation
- OSSMC: Add fleet mesh and multi-mesh capabilities
- OSSMC: Monaco editor loads worker scripts from external CDN instead of local bundle
- UI: Show the message only once in Messaging center
- UI: Support glass and high contrast themes for OSSMC/OpenShift 5.0
- UI: Hide inbound traffic data when inspecting ingress gateway nodes
- Validations: ignore Sidecar egress import scope (false positives under locked-down Sidecar)
- Operator: Make the operator pod’s probe timings configurable in the helm chart
Fixes:
- Ambient: KIA1313 false positive never clears: validation change detection does not track waypoint resolution, leaving stale results in the validations store
- Auth: OpenID strategy with Keycloak never logout from Kiali UI
- OSSMC: Local dev fails to load OverviewPage after Kiali 2.31 sync (GraphShortcuts setExtraStackFrame)
- UI: Several small UI/navigation bugs in the Kiali frontend
- UI: Fix Grafana Explore deep-link
- Validations: KIA0102 false positive with wildcard methods
- Validations: Istio validation false positives (P0): AuthZ hosts, auto-mTLS, appProtocol, Gateway API
- Validations: Istio validation false positives (P1): AuthZ namespaces, RequestAuth merge, selectors, subsets
2.30.0
Release: August 03, 2026
Features:
- AI: Enhance AI Chatbot: Context Awareness & UX Improvements
- AI: Implement Streaming Responses for Chatbot to Display Real-Time MCP Tool Execution Status
- AI: Reduce Output Payload Size
- AI: Multi-cluster eval test suite for Kiali MCP
- Ambient: Disable L7 istio configs for services that are in Ambient but doesn’t have a waypoint proxy
- K8s GW API v1.6.0 support
- OpenShift: OpenShift Impersonation for Multi-Cluster Auth
- UX: Remove refresh interval from Istio Config editor page
- Validation: Annotations for ignoring Kiali Errors/Warnings in the console?
Fixes:
- Health: Custom config: failure: 0 does not trigger Failure status despite docs saying it should
- UI: Annotation editor: follow-up fixes from #10010 review
- UI: Pods not shown for Argo Rollouts configured via custom_workload_types
- Validation: Istio configs per namespace returns validations for all the cluster
Upgrade Change Notes:
The fix for custom health status configuration could affect existing users. Degraded health status could now be reported as Failure. The behavior is correct, but could be unexepected. If affected, ensure proper setting of the failure threshold in your custom health configuration.
2.29.0
Release: July 13, 2026
Features:
- Ambient: v1.30 support
- AI: Enhance support for multi cluster
- AI: Implement Ask/Troubleshooting Mode Selection with Provider-Specific Prompts
- AI: Token reduction
- AI: Add Gateway API support to MCP tools
- AI: Improve error handling in multiple tool calls
- AI: Make the AI MCP max tool iterations configurable
- AI: Enhance MCP Server with Istio Ambient Mesh Discovery and Debugging Capabilities
- API: Remove includeAmbient from metrics options and use reporter
- UX: Improve workload annotation editing by handling controller and tempate annotaions
- UX: Improve Istio Config side panel
- UX: Replace react-ace with PatternFly CodeEditor (Monaco)
Fixes:
- AI: “Confirm chat deletion” modal does not appear when switching from a disconnected AI provider
- AI: MCP regression
- AI: Log debugs with chatgpt
- CI: Error in Test Perses link
- Graph: Find unhealthy workloads — graph find hide
- Graph: Fix issue with faint trace overlay
- Operator: OSSMC plugin installation fails with 401 when server.require_auth: true is set in the Kiali CR
- OSSMC: Crashes in Namespace detail tab
- Validations: KIA1401 false positive for HTTPRoutes whose namespace is enrolled in Ambient mesh
- Validations: KIA1317 should be excluded from waypoint proxies
2.28.0
Release: June 22, 2026
Features:
- AI: Make LightSpeed TLS verification configurable
- AI: Built-in MCP prompts
- AI: Use MCP Checker actions instead of the binary
- Ambient: Validate Kiali with Ambient 1.30
- API: GW API IE v1.5.0 Support
- Auth: OAuth2 client_credentials: follow-up fixes and improvements across kiali, operator, and helm-charts
- I18N: Create i18n conventions file
- Operator: RBAC permission cleanup
- UX: Use filter columns in list pages as in the namespace list page
- Validation: Add Kiali Validation for Conflicting ServiceEntries with Same Host and Port but Different Protocols
Fixes:
- Ambient: Ambient Traffic dropdown hidden when home cluster has no ztunnel
- Multicluster: Workloads list fails with “namespace not accessible” when ignore_home_cluster=true
- Validation: KIA1401 false positive when Gateway allowedRoutes selector uses matchExpressions
2.27.0
Release: June 01, 2026
Features:
- AI: Support anthropic provider
- AI: Implement background job to clean stale store data.
- AI: Extend resource_details tool to support Application-level resources
- AI: Token Usage Analytics
- AI: Harden System Prompt Against Injection
- Kiali.io: Update Istio Configuration Section
- Mesh page: Multi-mesh Control Plane Donut chart support
- Perf: Improve in point traffic animation
- Perf: Improve “istio” graph appender performance
- Perf: Improve health cache memory utilizion
- Perf: Improve workload fetching for single namespaces
- Server: Re-enable Prometheus after initial health check failure
- UX: Improve wizard buttons in view-only mode
- UX: Update detail pages in the style of the new Namespace detail page
Fixes:
- UI: Clicking chart data points throws TypeError
- UI: No heatmap in some Ambient tracing namespace
- UI: Show “No related resources” message in the Related card when empty
- UI: (Mesh page) ztunnel not connected with the control plane
- Validation: (Ambient) False positive in KIA1313
The following fields are no longer used by the Kiali CR and will be ignored if currently set. The standard constant values are now used.
spec.istio_labels.egress_gateway_labelspec.istio_labels.ingress_gateway_labelspec.istio_labels.injection_label_namespec.istio_labels.injection_label_rev
2.26.0
Release: May 29, 2026
Features:
- AI: Support anthropic provider
- AI: Support Google Model Provider
- AI: Implement background job to clean stale store data
- Ambient: Trace overlay
- Config: identity domain
- Config: Add pod disruption budget template to kiali chart
- Deployment: Add ability to enable/disable prometheus
- Overview Page: Follow-up UX improvements
- OSSMC: Add Namespace and Application list pages to OSSMC
- OSSMC: Replace native Istio Config list page with Kiali’s IstioConfigListPage
- Perf: trace hover tooltip performance boost
- UI: Replace height magic numbers with CSS flex layout
- UI: Traffic menu design iteration
- UI: Add Namespace Detail page
- UI: Better support for annotation and label editing
Fixes:
- AI: Fix Hallucinated/Broken Text Links in Chatbot Navigation Responses
- AI: Return in MCPtools error type when token is not valid
- Ambient: ztunnel dump error
- OSSMC: Cluster name not shown on Istio Config Details page in OSSMC
- OSSMC: MTLS icon is not working
- UI: Chart legend toggle stops responding after two clicks
- UI: Unreadable Text for Istio Validations
- UI: tracing: Incorrect visualization of tooltip
2.25.0
Release: April 20, 2026
Features:
- Ambient: Improve inter-cluster telemetry
- AI: Implement Unit and Integration tests for Backend API
- Graph: Include inbound and outbound edges when automatically activating rank
- Validation: Multi-primary support
- Validations: Multi-primary support for MeshConfig
- UI: Improve Duration handling for fixed-duration pages (lists, overview)
Fixes:
- AI: manage_istio_config returns UI-only actions payload to MCP clients that cannot handle it
- Auth: Kiali uses static bearer token for Prometheus/Tracing auth, breaks with short-lived projected SA tokens
- Server: Kiali Fails to Startup With Health Cache Enabled
- UI: Application link can navigate to workload detail
- UI: workload list health status tooltip always showing 0 pods
2.24.0
Release: March 30, 2026
Features:
- AI: Optimize get_istio_config tool for better parsing and token efficiency
- AI: Handle impact of new Namespaces page.
- Build: Upgrade Node.js from v20 to v24
- Build: Migrate from Yarn v1 to Yarn v4
- Build: Upgrade Golang from v1.24 to v1.25
- Kiali.io: Update docs with changes related to new overview page
- Server: Automatically set GOMEMLIMIT based on available memory (container cgroups / system)
- UI: Ambient and sidecars badges in the overview/namespaces pages
- UI: Overview Page Service Insights should incorporate L4 metrics
- UI: Overview Page re-order top row cards to group infrastructure
- UI: Improve UX for Graph Display menu
Fixes:
- PF6 misalignment issues
- K8s Client (cluster2) is not found or is not accessible for Kiali, when attempting multi-cluster configuration feature
- (AI)(Tool) get_resource_detail: Remove ‘istio’ and ‘app’ from allowed resourceTypes
- (AI)(Tool)(Panic) get_mesh_graph throw panic when the namespace not exist
Upgrade Change Notes:
kiali_health_status metric
Starting in v2.22, when the health cache and kiali metrics are both enabled (true by default) Kiali would also write a new metric, kiali_health_status. The initial implementation proved to be too heavy from a cardinality perspective. This metric has been redefined in v2.24 and will now generate a much lower cardinality of time series. Also, it is now opt-in, controlled by spec.server.observability.metrics.health_status.enabled. So, by default in v2.24, this metric will be disabled. The metric name remains the same, although attributes have been altered. Unless manually manipulated, existing series will remain in Prometheus until they naturally expire.
2.23.0
Release: March 09, 2026
Features:
- AI: Implement get_resource_metrics tool for CPU and Memory monitoring.
- AI: Implement get_logs tool for retrieving pod/container logs.
- AI: Comprehensive documentation for features.
- AI: Integrate Chatbot AI into new Overview and Namespace pages
- API: K8s GW API to v1.5.0
- OSSMC: New Overview page
- Security: Update to Go v1.24.13
- Server: Remove Istio Service Registry dependency on Validations
- UI: New Overview and Namespaces Pages
Fixes:
- Multiple Kiali metric-calculation defects produce incorrect user-visible values
- remove root_namespace section in docs
- Nil pointer dereference in SubsetPresenceChecker when VirtualService has nil route destinations
2.22.0
Release: February 16, 2026
Features:
- AI: Implement AI Chatbot Widget & MCP Integration (Dev Preview)
- Perf: Introduce health pre-compute
- Tracing: new use_waypoint_name config option (incorrect service name in Jaeger link)
- UI: SPIRE support
- UI: Replace react-datepicker with PatternFly 6 components
Fixes:
- UI: Slow loading of workloads
- UI: PF6 Wizard Migration Issues
- UI: Offline mode does not display Istio Config page
Upgrade Change Notes:
Health Status Pre-Compute and Caching
Kiali v2.22 introduces health status pre-compute and caching which is enabled by default. Production mesh sizes are growing and Kiali render times have been increasing, particularly for the Overview and List pages. In response, Kiali v2.22 changes its approach to health status calculation. In prior versions Kiali calculated health “on-demand”, based on the user’s selected duration, configuration settings, and other information, such as pod status. Starting in v2.22 Kiali will pre-calculate health status using a single, configurable duration, 5 minutes by default. The cached values increase the responsiveness of the Overview and List pages. Other pages, such as the Traffic graph and Detail pages will continue to calculate health status on-demand, and is based on the user’s selected duration. Users may notice that the Duration Dropdown selector has been removed from the Overview and List pages.
Users may notice an increase in backend resource utilization, as the Kiali server will now be calculating and refreshing health status, independent of user sessions. The Kiali CR introduces the following new configuration:
spec.health_config.compute.duration: 5m
spec.health_config.compute.refresh_interval: 3m
spec.health_config.compute.timeout: 10m
spec.kiali_internal.health_cache.enabled: false
It is recommended to keep the health cache enabled, as not all features will fall back to on-demand calculation.
Any questions, comments or feedback appreciated. Visit #kiali on Istio Slack or start a Discussion in Github at https://github.com/kiali/kiali.
2.21.0
Release: January 26, 2026
Features:
- Auth: Provide explicit OIDC config if .well-known/openid-configuration is locked down
- Auth: Use auto-rotated certificates for external service (e.g. prometheus) connectivity
- Auth: Support OpenID Authorization Code Flow with PKCE (SSO)
- Perf: Introduce background graph refresh and caching
- Perf: Improve traffic graph client-side rendering, particularly when displaying many service nodes
- Security: Enforce platform TLS profiles in Kiali via OpenShift-aware auto mode and kiali config fallback
- UI: Masthead status improved layout and multi-mesh handling
- UI: Notification center improvements for message detail handling
Fixes:
- Ambient: Fix missing Idle Node display in traffic graph, when not showing Waypoints
- Auth: Session persistor fixes re: chunked sessions and multi-session scenarios
- Perses: Validate OpenShift dashboards
Upgrade Change Notes:
Traffic Graph Caching
Kiali v2.21 introduces traffic graph caching. Enabled by default. When a user navigates to the Traffic Graph and renders the initial graph, Kiali will start a background job to regenerate the graph periodically, based on the refresh interval set in the UI. The background job will cache the resulting graph and return it on subsequent UI requests. This can greatly improve re-render times, especially for larger graphs. Note that the initial graph render time will be unchanged. It is still recommended to use “Manual” refresh when working with large meshes, in order to fully define the desired graph before performing the initial request. Any fundamental change to the graph definition will invalidate the cache and restart a new refresh job. Users can navigate away and then back to the traffic graph, and resume with the latest cached graph, within the timeout period (10m by default).
Backend resource utilization may be affected, although is not anticipated to change significantly. The caching can be disabled in the Kiali config via:
spec.kiali_internal.graph_cache.enabled: false
Any questions, comments or feedback appreciated. Visit #kiali on Istio Slack or start a Discussion in Github at https://github.com/kiali/kiali.
2.20.0
Release: December 22, 2025
Features:
- Maintenance: Upgrade to TypeScript 5
- OSSMC: Upgrade to Patternfly 6
- UI: Upgrade to PatternFly 6
- UI: Replace legacy message center
Fixes:
- GWAPI IE: Errors in Kiali logs when namespace stack
- Mesh Page: sporadic null reference in SummaryPanelClusterBox
- UI: Could not fetch workloads list
2.19.0
Release: November 24, 2025
Features:
- AI: Kiali now has AI and Agent Policy and Contribution guidelines
- Config: Kiali CR now supports adding custom initContainers to the Kiali deployment
- Helm Charts: Server helm chart now supports cluster_wide_access=false
- K8s GW API: v1.4.0 support
Fixes:
- Ambient: Fix “isAmbient” CP identification and Overview page badging
- Mesh Page: Fix missing validations for Data Plane side-panel
- UI: Masthead tooltip fixes for status and duplication
2.18.0
Release: November 03, 2025
Features:
- Mesh Page: improvements for multiple controlplanes
- Perses: ‘openshift’ URL format
- Operator: Sidecar usage extension
- Operator: NetworkPolicy for OLM-installed operator
- OSSMC: Add Netobserv Navigation traffic graph side-panel
Fixes:
2.17.0
Release: October 13, 2025
Features:
- Auth: Support of multiple audiences in OIDC
- Config: Remove use of conf.ExternalServices.Istio.Registry
- Dependencies: Update GoLang to 1.24.4
- GW API: Support Inference Extension v1
- Mesh Page: Show Kiali when in Local mode
- OSSMC: New “openshift” url_format for Tracing configuration
- Security: Allow configuration of NetworkPolicy to restrict Kiali ingress traffic
- Troubleshooting: Improve Kiali tracing by forwarding
x-request-idheader to prometheus calls
Fixes:
- OSSMC: Handle correctly pods page with no controller
- OSSMC: Distributed tracing plugin not doing redirection
- Server: Fix potential crash in Mesh Discovery
- UI: Scroll issue in Istio Config page
- UI: Kiali observability detail views not available to custom GVKs
Upgrade Change Notes:
The following fields are no longer used by the Kiali CR and MUST be removed, if currently set.
spec.external_services.istio.registry
2.16.0
Release: September 22, 2025
Features:
- CRD: Autodetect
RootNamespace - GatewayAPI: Support clusters that only have Gateway API gateways but no Istio gateways
- Perf: graph “Show Virtual Services” option controls “istio_detail” appender execution
- Perf: optimizations for the istio_detail graph appender
Fixes:
Upgrade Change Notes:
Discovery Selectors
Kiali now properly supports Istio control planes deployed into different namespaces. As part of this
support both the spec.istio_namespace and spec.external_services.istio.root_namespace configuration
fields have been removed. As such, Kiali Discovery Selectors, when defined, must include Istio’s
control plane namespace(s). If you are using Kiali Discovery Selectors, please ensure that this
new requirement is met. Note that Kiali’s deployment namespace is always included, and so co-located
Istio control planes will be discovered.
The following fields are no longer used by the Kiali CR and MUST be removed, if currently set.
spec.external_services.istio.root_namespace
2.15.0
Release: September 02, 2025
Features:
- Ambient: Improvements to Ambient workload validation
- CI: Run all cypress tests from tags
- CI: Add tests for kiali server/operator helm-charts
- CI: Validate CRDs are synced during release
- Deployment: Add support for “local” mode
- Deployment: Provide a schema for the Kiali CRD
- Deployment: Support multiple control planes in different namespaces on the same cluster
- Operator: provide a way to verify operator permissions are correct
- Perf: Only cache ConfigMaps in namespaces with controlplanes
- Perses: Add support for Perses Dashboard
Fixes:
- Ambient: fix startup OOM in ambient environments
- Operator: operator-sdk is now gone - operator release needs another way to verify bundle
- Operator: missing permission in CSV for OLM installs
- UI: Multicluster Workload Validations icon padding
Upgrade Change Notes:
Version 2.15.0 introduces a CRD schema for Kiali. The CRD version has not changed. But, validation will now occur on the cluster when the Kiali CRs are created or modified.
2.14.0
Release: August 08, 2025
Features:
- Ambient: UI support to add namespace to Ambient mesh
- Deployment: Support for external kiali deployment option
- Gateway API: Upgrade K8s Gateway API to v1.3.0
- Gateway API: Support Gateway API Inference Extension
Fixes:
- Authorization: do not perform cluster-wide query when cluster wide access is disabled
- Multi-cluster: Detect monitoring port for each controlplane
- Validation: Kiali does not recognize
istio-remotegateway class
Upgrade Change Notes:
The following fields are no longer used by the Kiali CR and MUST be removed, if currently set.
- no longer used
spec.istio_namespacespec.in_clusterspec.deployment.remote_secret_path
- now auto-discovered
spec.external_services.istio.config_map_namespec.external_services.istio.istiod_pod_monitoring_portspec.external_services.istio.envoy_admin_local_portspec.external_services.istio.istio_canary_versionspec.external_services.istio.istio_injection_annotationspec.external_services.istio.istio_sidecar_annotationspec.external_services.istio.istiod_deployment_namespec.external_services.istio.istiod_pod_monitoring_portspec.external_services.istio.url_service_version
2.13.0
Release: July 21, 2025
Features:
- I18N: Spanish localization (partial)
- Istio Config: Initial support for GW API Inference extension
- Mesh Page: Unify config format
- Mesh Page: Consistent istio Metrics
Fixes:
2.12.0
Release: Jun 30, 2025
Features:
- Usability: Cleanup logs
- Usability: Easy configuration/export of diagnostics
- Usability: Show json logs in a more human readable format
- Usability: Improve diagnostics for measuring performance
- Usability: Improve tracing tool
- Helm: be able to tell helm to skip creation of some resources
- Operator: Adapt bundle CSV to FBC
- Tracing: Be able to change the Trace limit default
- Molecule: try to workaround another transient ansible galaxy error
- Kiali.io: Features update
- CI: Grafana Test Flake in OSSMC
- CI: Shared Mesh page flaky test
- CI: Add test coverage for the tracing tool
Fixes:
- Tracing: Improve coverage when auth is specified but not required
- Operator: change of kiali version produces error in op logs
- OSSMC (CI): Adapt OSSMC cypress tests to OCP 4.19
- OSSMC (CI): Cannot create property ‘url’ on string ‘GET’
- OSSMC (CI): failure in Workload logs tab
2.11.0
Release: Jun 09, 2025
Features:
- Ambient: Support for ingress-use-waypoint
- Grafana: support datasource_uid parameter for Grafana dashboards links
- Istio: Support merging of multiple Istio configmaps
- Kiali.io: document how to test a remote cluster secret / kubeconfig
- Kiali.io: document how to use Kiali diagnostics for measuring performance
- Operator: Refactor to not use kubernetes.core.k8s_cluster_info task
- Perf: Remove Endpoints caching
- Tracing: Mesh page “Check Status” option to help troubleshooting
- Usability: Improve Kiali Logs and metrics for timing of a request
Fixes:
- Ambient: Mode detection fix - DaemonSet filtering label matching assumes exact map match, uses wrong source of data
- Ambient: Fix runtime error starting Kiali outside the cluster with Istio Ambient
- UI: Show GW API Icon for GWs in the graph
- UI: Fix internal server error when editing a workload
- Usability: Fix missing Kiali metrics
2.10.0
Release: May 18, 2025
Features:
- Ambient: Include ztunnel table filters
- Code: Adopt controller-runtime client
- Code: Adopt github.com/go-jose/go-jose/v3 instead of github.com/go-jose/go-jose
- Gateway API: Load all k8s gateway API classes that use Istio as a controller
- Kiali.io: Document features that enable you to more easily view a large graph
- Mesh Page: Load user config, if configured, and show on mesh page for istiod
- Support: Add structured logging
- Validation: Allow disabling validations
Fixes:
- Ambient: Error Unmarshalling the config_dump in Istio Ambient 1.26
- Build: Not able to build v1.73 integration test image + runtime GLIBC error from
oc - OSSMC: Trying to show traffic animation in OpenShift console leads to error
- Tempo: Does not return traces with error
2.9.0
Release: Apr 25, 2025
Features:
- CI: Use the sail operator instead of istioctl to deploy istio
- CI: Update primary-remote (multicluster) pipeline to use Sail Operator
- CI: Update external control plane pipeline to use Sail Operator
- CI: Update workflows /test-istio-version.yml to use sail operator
- Kiali.io: document the features that are supported by the operator but not by the server helm chart
- Operator: Allow providing extra labels for server and operator
- UI: Add “Manual” refresh interval
- UI: Scroll in tables with sticky headers
Fixes:
- Demos: Service Spawner demo not generating traffic
- Perf: Kiali uses a lot of CPU (in validations)
- Perf: Mesh page hangs for a long time when a component status is unhealthy
- Server: Kiali not working when Istio native sidecars feature is disabled
- Server: Difference in Istio and Kiali Workload Name for Argo Rollouts
- Operator: defining an inaccessible cluster in Kiali CR breaks the operator
- UI: Node selection not working when navigating to graph from trace detail
2.8.0
Release: Apr 07, 2025
Features:
- Ambient: Include ztunnel specific metrics
- Hack scripts: Support for auto-injection-label in all install scripts
- Mesh page: Include Kiali resource metrics in side-panel
- Operator: Watch for changes to remote cluster secrets
- OSSMC: Integrate console tracing with Kiali plugin
- Perf: Ambient graph generation optimization
- Perf: Validation MultiMatchChecker optimization
- Perf: Validation VirtualServices SubsetPresenceChecker optimization
- Security: Use multi-cluster secret if it exists in the namespace
- UI: Enhance masthead Istio Status with multi-cluster support and improved UX
- UI: Workload detail Pod listing now shows the revision annotation
Fixes:
- Health: Service Health calculation wrongly
- Health: Ambient Inconsistency of Service Health between pages
- K8s Gateway: API CRD check improvement
Deprecations:
After a 4 month deprecation period the support for Kiali’s original, Cytoscape-based, graph implementation has ended. The ‘spec.kiali_feature_flags.ui_defaults.graph.impl’ configuration setting is no longer supported, and the sole implementation going forward uses PatternFly Topology. This has allowed for a significant cleanup of the Kiali code base, and removal of several dated dependencies. We’d like to thank the Cytoscape project, without which Kiali would not have existed. It is an excellent library, and our migration to PatternFly was motivated by a need to settle on a uniform component library.
2.7.0
Release: Mar 17, 2025
Features:
- Ambient: Add metrics to ztunnel tab for workload detail
- Ambient: Add ztunnel resource consumption metrics to Mesh page side panel
- Perf: Validation and other perf enhancements
Fixes:
- Code: Fix data race in GetKialiTokenForHomeCluster
- Graph: PFT graph find/hide broken for “label:” operand
- Validation: Inconsistency between Service list validation and service details
- Validation: Service Details Config Validations Inconsistency
2.6.0
Release: Feb 21, 2025
Features:
- Ambient: Waypoint proxy log improvement
- Ambient: Add ztunnel to mesh topology
- Ambient: Recognize any gateway as a Waypoint if “waypoint” is in the name
- Config: Allow mixed app and verion labeling schemes
Fixes:
- Ambient: No ztunnel logs with waypoint in Istio 1.23
- Ambient: Some Waypoint proxies are reported incorrectly
- Authz: Fix access to DeploymentConfig (and some others)
- GW API: Wrong ReferenceGrant apiVersion from Kiali server
- Logging: Istio sidecar logs missing with k8s native sidecar enabled
- Mesh page: side panel does not stay in sync with mesh graph
- Perf: Jaeger version check leads to delayed Kiali login screen until timeout occur
- Tracing: Spans missing References values when Tempo is used
- Tracing: Kiali does not report trace connectivity error
- UI: Istio-system applications shown as out of mesh
Upgrade Notes:
The default values for the following Kiali CR fields have changed:
- spec.istio_labels.app_label_name
- previous default: “app”
- new default: unset
- spec.istio_labels.version_label_name
- previous default: “version”
- new default: unset
The change is related to the work done for Kiali issue 7603, included with this release. By default Kiali now allows for a mixing app labeling schemes, using the same set of app and version label pairings recognized by Istio:
- service.istio.io/canonical-name, service.istio.io/canonical-revision
- app.kubernetes.io/name, app.kubernetes.io/version
- app, version
Users can configure a single labeling scheme by setting the existing CR fields, or leaving them set when upgrading.
2.5.0
Release: Feb 03, 2025
Features:
- Ambient: Trace support
- Istio: Workload Entry and Workload Group support for VMs
- Istio: WorkloadGroup Validations
- Mesh Page: visualize gateways and waypoints
- Multicluster: When login to remote cluster fails, no visible error appears
- Operator: Add topologySpreadConstraints
- Security: configure /api endpoint to require authentication
- Istio: show configurations for K8sGateways
Fixes:
- Ambient: Error reading logs when user doesn’t have permissions for ztunnel
- Misc: Fix mixed object references with the same name for k8s gw
- Multicluster: Error namespace not found in Multi Cluster
- UI: Fix color-scheme cached value handling
2.4.0
Release: Jan 13, 2025
Features:
- Ambient: Improve waypoint visualization
- Config: Support Workload Group workload in list view
- Misc: Formally support previous versions of Istio in Kiali releases
- Misc: dual stack ipv6 support
Fixes:
- Operator: when on openshift, if ingress is disabled, skip some things that require the Route and abort if using openshift auth strategy
- Tracing: GRPC Jaeger client using old tag for istio multi cluster
- Tracing: Tempo Version url doesn’t work with TLS
- UI: Workload Traffic tab navigation leaves Overview tab confused
- UI: Irregular metrics loading error
2.3.0
Release: Dec 23, 2024
Features:
- Ambient - Several troubleshooting additions
- Maintenance - Go version 1.23.2
- Tempo - Performance review and cache introduced
- Traffic Graph - New “point-style” traffic animation
- UI - Show dual stack IPs in service details
Fixes:
- Traffic graph - In ambient mode, graph missed some gateway traffic
- UI - Kiosk mode Time duration component does not handle the URL correctly
- Validations - KIA1104 should only show when there is one route destination but has explicit weight assigned and less than 100 on tcp/tls route
2.2.0
Release: Dec 02, 2024
Features:
- Core, UI - Alternative Workload controllers support
- Multicluster - Pull the CA from the cluster and add that to the remote secret
- Operator, Core - Adjustable readiness and liveness probes delay
- Operator, Multicluster - allow multiple Kiali Servers in the same cluster each have cluster-wide-access enabled
- Tempo - Optimize Tempo query
- UI - Enable the Selection-based zoom in PFT
- Validation, UI - Make gateways optional in istio status
Fixes:
- UI - Traffic graph Zoomed-in “reset view” not resizing correctly
- UI - Workload detail missing envoy tab when Istio working with native sidecars
2.1.0
Release: Nov 11, 2024
Features:
- Mesh Page - Consistent display format for configuration values on the Mesh page
- Mesh Page - Canary upgrade status only uses home cluster
- Operator - Operator should look for OpenShiftAPIServer to determine if its running on OCP
- Operator - Bump base image to 4.17 / 1.35.0
- Security - Move base image of Kiali Server to UBI9 / RHEL9
- UI - Config list items should properly use Group + Version + Kind for kube resources
- UI - Improve color choice for “Not Ready” icon in dark-mode
Fixes:
- Ambient - External service shown as unknown
- Ambient - When the graph nodes are inaccesible, the graph has duplicated edges (From L4 and L7)
- Ambient - Kiali doesn’t show connection from ambient to sidecar injected namespace as mTLS
- Mesh Page - Failed to get istio deployment status when using IP in external services URLs
- Minigraph - Unable to navigate between workloads using the minigraph
- Traffic Graph - Graph hide can leave orphan edges
- Traffic Graph - PFT graph page throws a console error when the user navigates to the graph from a details page
- UI - Config list items must include apiVersion value when the Istio object is created outside of Kiali
- Validation - Istio validations inconsisteny - exported to other namespace
- Validation - Kiali states pod has no Istio sidecar under Workloads even though Istio has native sidecar support enabled
Deprecations:
- RedHat Community Operator
- The community operator created confusion as to which operator to use on OpenShift. It will no longer be updated and will eventually be removed. OpenShift users are encouraged to use the productized operator, which is included with licensed copies of OpenShift.
2.0.0
Release: Oct 21, 2024
The first major Kiali release in over 5 years! There are two main reasons for the major version update:
- There is a breaking change in Kiali’s namespace management configuration. To limit the namespaces accessible to Kiali, or made visible to users, Kiali v2.0 users will configure Discovery Selectors.
There is no longer support for the following deprecated configuration settings:
- spec.deployment.accessible_namespaces
- api.namespaces.exclude
- api.namespaces.include
- api.namespaces.label_selector_exclude
- api.namespaces.label_selector_include
- Kiali has a new traffic graph implementation.
The Cytoscape implementation has been deprecated and is no longer the default. Kiali has moved to PatternFly Topology to align with the rest of the Kiali interface, which is already implemented using PatternFly components. The old graph implementation will be removed as soon as the Kiali maintainers believe the new implementation has proven itself in the field. Until that time, it can still be accessed by setting:
spec:
kiali_feature_flags:
ui_defaults:
graph:
impl: "cy"
Features:
- Ambient Graph - Improve Ambient Graph
- Ambient Graph - Better visualize ztunnel
- Ambient Graph - Treat waypoint nodes as workloads, not apps
- Ambient Graph - Use bidirectional edges between workloads and waypoints
- Configuration - Discovery Selectors, enhance namespace accessibility per Discovery KEP
- Configuration - change names of url / in_cluster_url to better reflect what they are
- Configuration - Auto-detect more Istio config for ease-of-configuration
- Configuration - Be able to specify auth.username and custom dashboards auth via secrets
- Configuration - Support for additional environment variables in deployment
- Extensions - Support 3rd party traffic metrics per Extensions KEP
- Gateway API - K8s GW API v1.2.0 support
- Graph - Patternfly topology for Kiali graph
- Mesh Page - Improve istio canary handling
- Mesh Page - Ensure per-control-plane Istio settings
- Perf - Kiali Performance and Scalability testing
- UI - Upgrade Patternfly to version 5.4
Fixes:
- Kiali federation with multiple Kubernetes flavors not able to access none OpenShift workloads/applications when running on OCP
- K8s Gateways: Out of mesh error when not in ‘istio-system’
- bearer token auth with external Grafana
- Config: grafana and tracing versions should be obtained over in_cluster_url
- Auth: Fix issue with bearer token auth with external Grafana
- Auth: Fix URL-choice issue when fetching Grafana and tracing versions
- Mesh page - controlplanes not mapped to their dataplanes when using stable revision labels
- Mesh page: Fix issue for controlplanes not mapped to their dataplanes, when using stable revision labels
- Mesh page: Memory consumption chart for istiod container isn’t getting created
- Mesh page: istiod with no proxies synced yet throws error
- Multicluster: Fix issue federating Kiali instances on different Kubernetes’ impls
- OSSMC: Toggle menu of the workload minigraph does not load the action list
- Tempo: View in Tracing link
- UI: Toggle menu of the workload minigraph does not load the action list
- UI: Broken Breadcrumb for Details pages
- Validations - Inconsistency between List and Details pages
1.89.4
Release: Sep 30, 2024
Features:
The next feature release will be Kiali v 2.0.0
Fixes:
- K8s Gateways: Fix “Out of mesh” error when not in ‘istio-system’
- Operator: Fix support of namespaces that just have numbers in their name
- Validations - Fix “exportTo” validation inconsistency between List and Detail pages
1.89.3
Release: Sep 09, 2024
Features:
The next feature release will be Kiali v 2.0.0
Fixes:
- Custom Dashboard - External Links of Custom dashboard not visible
- Graph - Cannot load the graph: cluster (unknown) is not found or is not accessible for Kiali
- Graph - Inconsistent ServiceEntry Display in Multi-Namespace Environment
- Graph - Fix handling of defaultExportTo setting in serviceEntry and other components
- Tempo - query_scope is ignored for Tempo in single-cluster environment
1.89.0
Release: Aug 19, 2024
Features:
- Maintenance - Upgrade go from 1.22.1 to 1.22.5
- Maintenance - Move to node 20
- Mesh page - Hide mesh page for non istio-system users
- Perf - Kiali Performance improvements.
- UX - Align the notification badge with PF standards
Fixes:
- Auth - k8s api token not auto refreshing for calls to fetch cacerts
- Mesh page - Display full yaml from
istioconfigmap - Operator - when installing OSSMC, make sure the Kiali version is the same.
- OSSMC - cannot update namespace or create Istio objects
- OSSMC - Upgrade api from v1alpha1 to v1
1.88.0
Release: Jul 29, 2024
Features:
- Ambient - Identify waypoint proxies for Istio Ambient
- Dependencies - React Router migration from v5 to v6
- Mesh page - Hide mesh page for non istio-system users
- Mesh page - View Tempo version in Mesh Page
- K8s GW API - Autodiscover gateways
- K8s GW API - Rework - Duplicate labels in Kiali CR and code
- K8s GW API - Cross-Namespace routing
- UI - Place alert notifications in the top right corner of the screen
- UI - Align the notification badge with PF standards
Fixes:
- Mesh page - Grafana version checks don’t use configured Grafana auth
- Mesh page - throws error when one of the clusters is inaccessible
- Tracing - The tracing service is disabled by default
- K8s GW API - Hardcoded ingressgateway labels in code
- Cypress - KIA1102 validation fails - Issue in Kiali
- Ambient - Hiding TCP hides HTTP
- Kiali operator - helmchart frequently changes the replica count when HPA is enabled
1.87.0
Release: Jul 08, 2024
Features:
- Ambient - Show Ambient labels in Service and Application details
- Ambient - Improve Ambient appender performance
- Graph - improve PFT “focus node’
- K8s GW API - 1.1 Support
- K8s GW API - GRPCRoute support
- Kiali.io - Include performance results and improvements into kiali.io
- Kiali.io - Add Kiali and Ambient documentation
- Operator - ansible kubernetes.core collection update
- OSSMC - Support for Gateway API objects in the Istio Config list page
Fixes:
- Ambient - Cannot load the graph: Namespace is excluded
- Ambient - ztunnel logs are using pod name (And not workload)
- Masthead - kiali may hang when asking for masthead’s Debug Info while graph page is displayed
- Mesh page - controlplanes have an edge to every dataplane
- Multi-cluster - Visual bug on the Overview page upon refresh
- Routing Wizard - Empty Matching fail
- K8s GW API - ReferenceGrant has incorrect API version in the wizard
- OSSMC cannot update namespace or create Istio objects
- Validations - KIA0106 False Positive - Unable to Find Service Accounts
Deprecations:
- Kiali is deprecating its current namespace selection approach. For a description of the new mechanism see https://github.com/kiali/kiali/blob/master/design/KEPS/namespace-discovery/proposal.md. The following configuration is deprecated:
- spec.deployment.accessible_namespaces
- Note that the following settings have already been deprecated and will soon be removed:
- api.namespaces.exclude
- api.namespaces.include
- api.namespaces.label_selector_exclude
- api.namespaces.label_selector_include
1.86.0
Release: Jun 17, 2024
Features:
- mesh page - Add legend to the mesh graph
- mesh page = display side-panel JSON in a table format
- ambient - support http ambient waypoint telemetry in graph
- ambient - support http ambient waypoint telemetry in charts
- ambient - Adapt Auto Injection action in Ambient Mesh
- Request for fetch traces is timeouted after 30s
- Simplify i18n support
Fixes:
- Traces are not filtered for cluster in Multi cluster
- graph - PFT graph does not show parallel edges with different protocols
- Helm chart/operator does not support Adding an Inaccessible Cluster
- CI - Flake - graph_context_menu nodes undefined
- CI - Improve Cypress test related in kiali_help.feature
1.85.0
Release: May 27
Features:
- New Mesh Topology page
- Custom http headers for tracing
- Add the ability to modify the dnsconfig for the kiali deployment in kubernetes
- make sure Kiali can observe important istiod metrics
- kiali-server helm chart: Do not create ClusterRole if not needed
- Include Mesh page in OSSMC
Fixes:
- graph - Getting “Cannot load the graph: cluster (kubernetes) is not found or is not accessible for Kiali” with certain prometheus configurations.
- ambient - Improve check for detection of workload in Ambient Mesh
- ambient - ztunnel logs are not shown on a kind cluster
- ossmc - Istio config list page does not filter by namespace (OCP 4.15)
- Vulnerability in Go Crypto CVE-2022-27191
1.84.0
Release: May 06, 2024
Features:
- Ambient - support ztunnel access logs
- Operator - be able to disable namespace watching
- OSSMC - Adapt OSSMC to PF5
- OSSMC - Internationalization (I18N)
Fixes:
- KIA1102 shows warning instead of a danger status
- Traffic graph context menu options do not redirect to the correct pages
- (multi-Cluster AuthorizationPolicy) (KIA0106) when namespace SPIFFY is on remote cluster
- False KIA1102 alert
- Kiali fails to watch Gateway due to
spec.servers(*).tls.mode: OPTIONAL_MUTUALsetting
1.83.0
Release: Apr 12, 2024
Features:
- n/a
Fixes:
- Namespace selector order is random
- The Istio config list page does not update when switching from a forbidden namespace to an accessible one
- token & OpenShift authentication not working
- automaxprocs removed from kiali
- Graph for Ambient ns is not generated correctly when the traffic is not generated throw a Gateway
- (e2e) Tests should check status code before attempting to unmarshal into json
- (molecule) flake in molecule test “os-console-links-test”
1.82.0
Release: Mar 22, 2024
Features:
- Multicluster - External controlplane support
- Multicluster - Token per cluster
- Tracing - Include a health_check_url for tracing external service
- Tracing - Update Tempo resource usage
- Auth - Enhancing Kiali OIDC process by supporting CSI secrets
Fixes:
- Kiali tracing URLs don’t work with Grafana 10+
- Warning in workload ‘istio-ingressgateway’ in non control-plane namespace
- Distributed Tracing menu item active when there is no public URL defined
- Graph - crash in DeadNode appender in multi mesh-setup
1.81.0
Release: Mar 01, 2024
Features:
Fixes:
- envoy access log entry doc links are broken
- Istio config href is broken
- TLS information is not available
- AlertUtils Kiali messages are not shown in OSSMC
- Kiali operator does not preserve camel case on additional ingress labels
- The duration label is confusing in the Overview control plane charts
- Fix help text for graph Security Display option.
- (graph) ServiceEntry ExportTo is not handled correctly
1.80.0
Release: Feb 09, 2024
Features:
- Make support of “ExportTo” feature of Istio config configurable
- Use client-go’s service account token client refresh
- Kiali v1.73.x compatible with Istio 1.20 and GW API v1
- Upgrade Patternfly to version 5.2
- Add pprof endpoints for debugging perf issues
Fixes:
- Multicluster - delete traffic routing on “remote” cluster 404
- Switching namespaces does not work on Istio Config page
- Error fetching Istio deployment status of the remote control plane in the Primary remote deployment
- Validations: Missing KIA0005 in objects details page when wrongly exported
- PFT Graph not handling graph background clicks
- Close button on the Certificates information does not do anything
1.79.0
Release: Jan 19, 2024
Features:
- Tempo - Initial Support Complete
- Multicluster - provide links to external Kialis without requiring istio secrets
- Multicluster - Add documentation for configuring Kiali with primary-primary
- K8s GW API - Support of TCP/TLS/GRPC Routes
- K8s GW API - Support of ReferenceGrant
- Use the Prometheus
/-/healthyendpoint for the default value for health_check_url - Ambient - Workload graph reports the istio-waypoint proxies as “Out of Mesh”
- re-enable ARM builds
- Remove graph “Compress-On-Hide” Display option
Fixes:
- Bug after v1.72.0 release with oAuth2 strategy when DisableRBAC is true
- Potential runtime error in kube_cache.GetK8sGateways
- Prometheus retention config not resolved correctly when using defaults in prom
- Incorrect spacing and icon sizing in Graph Summary Panel
- Istio config bug
- kiali operator cannot determine kiali version when installing ossmc
- Tracing client must use the Kiali SA Token (Not the user token)
- Double istio rev in configmap name
- debug info shows incorrect log level
- Fix rank options in the graph
- Update axios HTTP client library
- Kiali render hostnames as individual service instead of serviceentry as whole
- Scrollbar in Workloads Logs view
- UI Error after deleting Istio Config
- Extra padding in long namespace names
- Graph: Link to App which does not exist
1.78.0
Release: Dec 08, 2023
Features:
- Update Patternfly library to version 5.1
- Add labels and annotations in wizards
- Multicluster - When istiod is unavailable portforwarding requests scale with namespaces
- Multicluster - Create an istio registry per primary
- Tempo Integration - Use select for query in Tempo 2.2
- Apply new eslint rules only to edited files
- (Kiali-operator Helm Chart) Mount /tmp instead of /tmp/ansible-operator/runner as emptyDir to enable read-only root filesystem
- Workload logs - improve appearance of checkboxes
- Set Secure Attribute on Session Cookie
Fixes:
- Info icon in yaml editor’s overview panel is not aligned properly
- patternfly graph not showing node decorators
- Kiali UI not showing API Docs
- (Multicluster) Not all reviews workloads are visible in Kiali
- Integration tests - Kiali 1.73 is not compatible with Istio 1.20
- Istio 1.20 incompatibility
- Jaeger traces: Filter by percentile no returning any trace
- tracing UI - hover over trace dots “flickers” the heat map
- Health icon in Application summary panel graph looks weird
- panic when observability section does not configure the tracing endpoint correctly
- Show kiali own traces
- Disalignment in API Documentation info for Workloads and Services
- Link to trace does not always open trace details
Deprecations:
- Kiali is deprecating use of the Jaeger exporter for Kiali’s own traces. Kiali will move to supporting only the OTel exporter.
1.77.0
Release: Nov 17, 2023
Features:
- Tempo - Wrong Distributed Tracing link for nav menu
- Tempo - Span query returning emptly results
- PF5 - Upgrade to patternfly 5
- PF5 - Move table deprecated component
- OSSMC - add version fields to operator CSV metadata for display in OS Console UI
Fixes:
- helm-charts smoke test GH action fails to start
- Traces are duplicated across both clusters
- getNamespaceMetrics includes cluster in query params
- (operator) only process one OSSMConsole CR
- ossmc package.json did not get updated version during last build
- empty tree entry in kiali.io installation menu and goes to incorrect place
- Repeatedly refreshing causes the UI to crash
- Extra space between left nav and top nav
- Multicluster - Missing cluster param in Show traces
- Trace link in Graph - Trace is not loaded when clicked
- (run-kiali) Error fetching availability of the tracing service
- Error deploying istio 1.20 with hack script in OpenShift
1.76.0
Release: Oct 27, 2023
Features:
- Update go version 1.20.10
- Tempo - Update the main external link to distributed tracing
- Tempo - Update documentation
- Tempo - Update Trace data on hover
- Add cluster_name support for run-kiali.sh hack script
- Istio warning/error status for situations where eastwestgateway is not healthy.
- istio hack script: cluster name should not be set to empty string
- OSSMC - build and release ossmc plugin at end of sprint
- OSSMC - Add scrollbar environment variable
- PF5 - Move deprecated component Dropdown
Fixes:
- Kiali Crashing in sidecar validation (without a sidecar)
- (CI) Test flake - workload logs
- Unable to reach API Server ‘istio APIs and resources are not present in cluster (Kubernetes)’
- Multi mesh setup results in an error when fetching workloads
- Double istio rev in configmap name
- Selecting a trace in the Graph does not mark the edges when using Tempo
- Service of a remote app/workload is not reported in the detail view
- Tempo - Incomplete span data
- Invalid AuthorizationPolicy generated from Overview page
- Envoy is duplicated across both clusters
- Traffic tab in Apps details is duplicated for both clusters
- (ci) need to fix CI script for running molecule tests on openshift
- Gateway badge is not being applied to gateways in the graph
- Inbound Metrics tab for the Service detail is duplicated for services in different clusters
- setup-kind-ci.sh script fails if it is not executed from root folder
1.75.0
Release: Oct 06, 2023
Features:
- GW API Multiple implementations
- Support K8s native sidecars
- PF5 Move deprecated Select
- Tempo tempo reading traces
- Tempo Rename to Tracing instead of Jaeger when applicable
- Tempo Update hack script to support OpenShift
- Focus selector support in PF graph
- Include Ambient annotations as configuration settings
- FAQ on how to get Kiali and Istio versions
Fixes:
- Remote cluster istio-system namespace card show data from primary control plane
- “Cannot load the graph: json: cannot unmarshal object into Go value of type ()*kubernetes.RegistryEndpoint”
- Multicluster - Traffic routings created via Graph page are always located in the local cluster
- Breadcrumb click on Istio Type filter - Filter type is reset
- Grafana, Ingress, Egress pods not running in Openshift after installing istio via istioctl
- K8sGateway Validations - Inconsistency in lists
- Little disalignments in Kiali UI
- Wrong cluster when double tapping on a service/application in node graph
- molecule tests are broken due to upstream galaxy changes
- Annotation wizard behaviour is not correct when user add/deletes some annotations
1.74.0
Release: Sep 15, 2023
Features:
- Added support of multiple Gateway API classes
- Ensure Tempo works using jaeger-query
- Update Releasing doc
- Adjust PFT graph-tour
- document minimum helm version
- Make Kiali compatible with OSSMC
- Minimal upgrade to PF5
Fixes:
- Duplicate test ID related to Overview page in Multicluster mode
- PFGraph throws console error when hovering an application label
- Graph not showing traffic from portals to travels in west cluster
- IstioType in istioconfigList is propagated to other views
- kiali pod stay in Error status after node shutdown
- Graph side-panel has multi-cluster issues
- (make) work around opm render bug when building for OLM
- Double tap on a node redirects to wrong cluster
- UI issues in Graph replay for OSSMC
- Sorting by cluster does not work in the list view located in the Overview page