This is an automated email from the ASF dual-hosted git repository.
wu-sheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-website.git
The following commit(s) were added to refs/heads/master by this push:
new 08f8bb11c36 Release Apache SkyWalking Horizon UI 0.7.0 (#869)
08f8bb11c36 is described below
commit 08f8bb11c362c2ab6fa2f9c2fa9006aa299705e8
Author: 吴晟 Wu Sheng <[email protected]>
AuthorDate: Thu Jun 25 09:43:54 2026 +0800
Release Apache SkyWalking Horizon UI 0.7.0 (#869)
* Release Apache SkyWalking Horizon UI 0.7.0
- data/releases.yml: add v0.7.0 (src+bin) as the latest entry (closer.cgi
download, downloads.apache.org asc/sha512); demote v0.6.0 links to
archive.apache.org.
- data/docs.yml: point Latest at the v0.7.0 commit (9fc54aa) and add a
v0.7.0 docs entry.
- content/events: add the 0.7.0 release announcement.
* Remove Horizon UI 0.5.0 from downloads and docs
Drop the v0.5.0 entries from data/releases.yml (source + distribution)
and data/docs.yml, keeping the two most recent versions (0.7.0, 0.6.0).
---
.../index.md | 70 ++++++++++++++++++++++
data/docs.yml | 8 +--
data/releases.yml | 40 ++++++-------
3 files changed, 94 insertions(+), 24 deletions(-)
diff --git a/content/events/release-apache-skywalking-horizon-ui-0-7-0/index.md
b/content/events/release-apache-skywalking-horizon-ui-0-7-0/index.md
new file mode 100644
index 00000000000..9722ab96fba
--- /dev/null
+++ b/content/events/release-apache-skywalking-horizon-ui-0-7-0/index.md
@@ -0,0 +1,70 @@
+---
+title: Release Apache SkyWalking Horizon UI 0.7.0
+date: 2026-06-25
+author: SkyWalking Team
+description: "Release Apache SkyWalking Horizon UI 0.7.0."
+---
+
+SkyWalking Horizon UI 0.7.0 is released. Go to [downloads](/downloads) page to
find release tars.
+
+This release broadens what Horizon can observe — browser JS errors with
source-map de-obfuscation, an Airflow layer, and a clustered BanyanDB
self-observability layer — and deepens how you navigate a deployment:
lock-and-compare across entities on a layer dashboard, three new topology
drill-downs (instance map, intra-service deployment, API dependency), and
portable dashboard config with OAP as the single source of truth.
+
+##### Browser errors & source maps
+
+* A new **Browser Logs** tab on the `BROWSER` layer lists the JS error logs
the browser agent reports — message, category, page, app version, time, and the
minified `line:col` — filterable by category and time window. Expanding a row
shows the raw stack alongside a de-obfuscated view.
+* **Source-map de-obfuscation**
([skywalking#6784](https://github.com/apache/skywalking/issues/6784)): upload a
`.map` file and resolve any error's minified stack back to the original file,
line, column, symbol name, and a source snippet by picking which map to apply.
Uploaded maps live in the BFF's **memory only** (no backend storage) — surfaced
as *temporary*, LRU-evicted at the configured budget, and lost on restart. For
durable provisioning, mount `.map` files into the server's stati [...]
+
+##### Two new layers: Airflow & BanyanDB self-observability
+
+* **Airflow** (SWIP-7), under *Workflow Scheduler*: a service dashboard
(scheduler / executor / pool KPIs and trends), a Components dashboard (per-host
scheduler and triggerer metrics for **Airflow 3.x** native OTel), and a 3D
Infra Map load ring for *Tasks Executable*. Pairs with OAP backend SWIP-7
(`meter_airflow_*`).
+* **BanyanDB** (SWIP-15), under *Self-Observability*: models a clustered,
role- and tier-aware BanyanDB deployment scraped through its FODC proxy — the
cluster is one **Cluster** (service), each container a **Container** (instance,
carrying its `container_name` role and `node_type` tier), and each storage
**Group** an endpoint. It ships a Cluster dashboard (write/query/error-rate,
capacity, a Containers-by-Role table), a **role-adaptive** Container dashboard
(shared CPU/memory/Go-runtime [...]
+
+##### Lock & compare entities on a dashboard
+
+* **Pin several services, instances, or endpoints — including ones from
different services — and compare them in place.** Compare is standard on every
service / instance / endpoint layer dashboard; nothing to enable. The entity
you're viewing is always part of the comparison, tagged `CURRENT` and shown
first; pinned entities add to it, up to six, each in its own stable hue.
+* Each widget compares **inline in its own tile** — line widgets overlay one
series per entity, card widgets show one row each, top-N and record widgets get
per-entity tabs plus a merged *All* tab, and table widgets gain an **Entity**
column. Each entity loads as its own request, so tiles fill in progressively
and one slow or failed entity never blanks the others. The Topology,
Deployment, trace, and log pages are unaffected.
+
+##### New topology drill-downs
+
+* **Instance map** — click a call between two services, then **Instance map
→**, to open each service's instances as client / server columns with the
instance-level calls between them: pan/zoom, animated flow, per-call
client/server metric sidebar, and relationship-aware pair pickers drawn from
the call graph. Configurable per layer (Layer dashboards → *Topology* →
**Enable instance topology**), on out of the box for **General**, **Service
Mesh**, **Kubernetes Service**, and **Cilium Service**.
+* **Deployment tab** — the instance-to-instance call graph *within a single
service* (e.g. a clustered store's nodes calling each other). Instances render
as hexagons that bundle into pods (main + sibling containers); cluster them by
one or more instance attributes or a name regex; a tiered, draggable layout
reads upstream→downstream left-to-right. Edge metrics are keyed by
**(source-role → target-role)** pair, with a primary metric printed inline and
a **Flows** sub-tab tabling every ed [...]
+* **API dependency tab** — an endpoint's caller → callee chain as a column
graph (callers left, focus centre, callees right) with the same health-ring
borders, SLA-coloured RPM, and latency as the service map. A single **+**
handle pulls in an endpoint's own callers and callees to walk the chain;
drill-outs open in a new browser tab. Localized across all eight UI languages.
+
+##### Topology readability
+
+* A new **Filter** control on the per-layer service map (and the embedded
topology widget) hides the conjectured peers that clutter a dense map — faceted
by **layer** (each row carrying the layer's own icon and localized name), plus
a standalone **User** toggle and an **Others** bucket for unresolved peers.
Filtering is client-side and defaults to showing everything.
+* **Technology component icons** now render on service-map nodes — the same
icon set the trace waterfall uses, so a PostgreSQL node looks like PostgreSQL —
falling back to the generic glyph when a component ships no icon.
+* The topology's **service selector** now groups its list by OAP
`Service.group`; clicking a group header batch-selects or unselects every
service in that group.
+
+##### Service group as a first-class layer axis
+
+* A per-layer **Split menu by service group** toggle fans a layer into one
sidebar entry per OAP `Service.group` (the `<group>::` prefix), each entry
scoped to its group across header, picker, topology, dashboards, and roster.
The service picker surfaces each service's group chip, and the **navigation
sidebar is now resizable** (drag the divider, double-click to reset; width
persists per browser) so long group-split names stay readable.
+* **Every layer OAP reports now appears in the sidebar**, including layers
with no Horizon template (they render with default capabilities). A layer is
hidden only when an admin disables its template or it is listed in the new
config-driven `layers.excluded` block in `horizon.yaml` (defaults `FAAS` and
`VIRTUAL_GATEWAY`).
+
+##### Dashboard config is portable, and OAP is the source of truth
+
+* Every template admin page — Overview templates, Layer dashboards, the 3D-map
config, and the per-locale Translations — now has **Export** and **Import**.
Export downloads the *in-use* version (what end users render) as JSON for
backup, sharing, or moving a dashboard to another OAP; Import loads a JSON file
as a local draft to preview, then publish with **Check diff & push**. Import
never writes OAP directly.
+* **Runtime config is strictly what's on OAP.** Dashboards, overviews, and
topology now render only the version published to OAP's UI-template store (or
the in-code minimal default) — the disk-bundled templates reach a running UI
only by being synced to OAP or through the admin **Preview** button, never as a
silent live fallback. An unreachable template store is a **visible block** (a
banner, matching the OAP-query-unreachable strip), not a quiet bundled
back-fill. The Preview button now [...]
+
+##### Layer landing shows every service
+
+* The layer landing now probes **all** services up to a configurable cap
(`query.landingServiceCap` in `horizon.yaml`, default **100**) and runs a cheap
ranking pass to pick the **true top-N** by the landing's order-by column —
replacing the old cap of the first 25 *by list order*, which both hid services
and mis-ranked them. The service picker lists the *whole* layer (below-cap
services show `low` in the ranked column rather than disappearing), and the
header chip reads **"metrics: top [...]
+* Selecting a low-traffic, below-cap service now works on **every** tab —
logs, traces, and endpoint-dependency resolve the name from the full roster,
not just the landing sample, so a tail service drills in everywhere.
+
+##### Widgets & formatting
+
+* Layer-dashboard widgets gain a structured **Visible when** gate — by an MQE
expression (has-value, or `>` / `<` a threshold) or by an entity attribute
(e.g. *language equals JAVA*) — evaluated server-side, so a gated-out group's
queries are skipped entirely (a non-JVM instance no longer runs the JVM widget
queries at all).
+* New card formats: **`enum`** maps a coded metric to a readable,
per-locale-translatable label (`1 → OK`), and **`duration`** renders a SECONDS
metric as a human time-ago (`5m 20s ago`). **Record widgets drill into the
originating trace** — resolved by trace id (so it works across layers) — with
click-to-copy statement text. The **instance-list badge** is now configurable
per layer (any attribute instead of the fixed agent `language`, hidden when
empty or `UNKNOWN`). Large numbers on ax [...]
+
+##### Live debugger & DSL apply
+
+* The live debugger groups MAL sample fan-outs by metric into one-line
summaries and opens an expanded group straight into a **diff view** — shared
labels dimmed into a "common" block, only the differing labels highlighted — so
it's immediate which label distinguishes each sample. Multiple output entities
fold the same way; long fractional `rate()` / `avg()` values are trimmed for
display (the exact value stays on hover).
+* **DSL management shows live apply progress.** A structural rule change
(scope, downsampling, or metric set) now tracks the apply across the cluster
through a phase stepper (Compiled → Confirming → Committing → Done) and reports
success only once OAP confirms durability. *"Applied — cluster propagation
unconfirmed"* is surfaced as a warning (the rule is applied; lagging nodes
self-converge), a failed apply is called out as **rolled back** with the edit
kept for a retry, and a one-click [...]
+
+##### Access control, performance & fixes
+
+* **RBAC**: the Roles & Permissions board now lists `infra-3d:read`; editing a
layer-dashboard template gates on `dashboard:write` (publishing overview /
alert / 3D-map configs stays on `overview:write`); the Cluster Status debug
view needs only `live-debug:read`; and saving a local draft enforces the same
per-kind permission as publishing.
+* **Performance**: layer dashboards reuse the warm per-layer service catalog
(one fewer OAP round-trip), the alarms list and count fire their two startup
probes in parallel, the 3D Infra Map loads metrics in bounded-concurrency
batches, and an oversized topology (>5,000 services / 15,000 calls) fails with
a clear "too large to render" notice instead of an unreadable map. Partial
metric-load failures now surface a banner so a backend hiccup isn't misread as
real "no traffic" data.
+* **Fixes**: the API-dependency tab honors the topbar time picker; one failed
metric group no longer blanks an entire dashboard; trace-list rows pick the
correct root span on BanyanDB; the server-timezone offset is cached per OAP URL
so repointing OAP re-probes immediately; baseline security headers
(`X-Content-Type-Options: nosniff`, `X-Frame-Options: DENY`, `Referrer-Policy:
no-referrer`) are sent on every response; and the profiling pages use more of
the page height.
+
+Full release notes are
[here](https://github.com/apache/skywalking-horizon-ui/releases/tag/v0.7.0).
diff --git a/data/docs.yml b/data/docs.yml
index 509a67b0491..a8b3a5dd11b 100644
--- a/data/docs.yml
+++ b/data/docs.yml
@@ -94,13 +94,13 @@
link: /docs/skywalking-horizon-ui/next/readme/
- version: Latest
link: /docs/skywalking-horizon-ui/latest/readme/
- commitId: fc6d9d5b5233dc424dc878444f4459bd3a31edb0
+ commitId: 9fc54aa114c2b00ac9af791d14f2b5ae009bacc5
+ - version: v0.7.0
+ link: /docs/skywalking-horizon-ui/v0.7.0/readme/
+ commitId: 9fc54aa114c2b00ac9af791d14f2b5ae009bacc5
- version: v0.6.0
link: /docs/skywalking-horizon-ui/v0.6.0/readme/
commitId: fc6d9d5b5233dc424dc878444f4459bd3a31edb0
- - version: v0.5.0
- link: /docs/skywalking-horizon-ui/v0.5.0/readme/
- commitId: 6b8ee50e5d8b7c61699084b32247195c0d5bbea0
- type: Grafana Plugins
description:
list:
diff --git a/data/releases.yml b/data/releases.yml
index 66e3b3873db..8a28bbb3a5c 100644
--- a/data/releases.yml
+++ b/data/releases.yml
@@ -259,43 +259,43 @@
icon: skywalking
description: Apache SkyWalking next-generation UI (Horizon), natively
supporting SkyWalking since v11, and partially for v10.
source:
- - version: v0.6.0
- date: Jun. 4th, 2026
+ - version: v0.7.0
+ date: Jun. 25th, 2026
downloadLink:
- name: src
- link:
https://www.apache.org/dyn/closer.cgi/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-src.tar.gz
+ link:
https://www.apache.org/dyn/closer.cgi/skywalking/horizon-ui/0.7.0/apache-skywalking-horizon-ui-0.7.0-src.tar.gz
- name: asc
- link:
https://downloads.apache.org/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-src.tar.gz.asc
+ link:
https://downloads.apache.org/skywalking/horizon-ui/0.7.0/apache-skywalking-horizon-ui-0.7.0-src.tar.gz.asc
- name: sha512
- link:
https://downloads.apache.org/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-src.tar.gz.sha512
- - version: v0.5.0
- date: May 24th, 2026
+ link:
https://downloads.apache.org/skywalking/horizon-ui/0.7.0/apache-skywalking-horizon-ui-0.7.0-src.tar.gz.sha512
+ - version: v0.6.0
+ date: Jun. 4th, 2026
downloadLink:
- name: src
- link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.5.0/apache-skywalking-horizon-ui-0.5.0-src.tar.gz
+ link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-src.tar.gz
- name: asc
- link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.5.0/apache-skywalking-horizon-ui-0.5.0-src.tar.gz.asc
+ link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-src.tar.gz.asc
- name: sha512
- link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.5.0/apache-skywalking-horizon-ui-0.5.0-src.tar.gz.sha512
+ link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-src.tar.gz.sha512
distribution:
- - version: v0.6.0
- date: Jun. 4th, 2026
+ - version: v0.7.0
+ date: Jun. 25th, 2026
downloadLink:
- name: bin
- link:
https://www.apache.org/dyn/closer.cgi/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-bin.tar.gz
+ link:
https://www.apache.org/dyn/closer.cgi/skywalking/horizon-ui/0.7.0/apache-skywalking-horizon-ui-0.7.0-bin.tar.gz
- name: asc
- link:
https://downloads.apache.org/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-bin.tar.gz.asc
+ link:
https://downloads.apache.org/skywalking/horizon-ui/0.7.0/apache-skywalking-horizon-ui-0.7.0-bin.tar.gz.asc
- name: sha512
- link:
https://downloads.apache.org/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-bin.tar.gz.sha512
- - version: v0.5.0
- date: May 24th, 2026
+ link:
https://downloads.apache.org/skywalking/horizon-ui/0.7.0/apache-skywalking-horizon-ui-0.7.0-bin.tar.gz.sha512
+ - version: v0.6.0
+ date: Jun. 4th, 2026
downloadLink:
- name: bin
- link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.5.0/apache-skywalking-horizon-ui-0.5.0-bin.tar.gz
+ link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-bin.tar.gz
- name: asc
- link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.5.0/apache-skywalking-horizon-ui-0.5.0-bin.tar.gz.asc
+ link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-bin.tar.gz.asc
- name: sha512
- link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.5.0/apache-skywalking-horizon-ui-0.5.0-bin.tar.gz.sha512
+ link:
https://archive.apache.org/dist/skywalking/horizon-ui/0.6.0/apache-skywalking-horizon-ui-0.6.0-bin.tar.gz.sha512
- name: Grafana Plugins
icon: skywalking
description: SkyWalking Grafana Plugins provide extensions to visualize
topology on Grafana.