blob: b4a5f828e25b72a7ec0d0a2be615bad259ec7bf8 [file] [view]
# Changelog
## 5.0.0
Targets SkyWalking OAP 11.0.0, Horizon UI 1.0.0 and BanyanDB 0.11.0. See
[Upgrade](../upgrade/upgrading.md) for the migration steps.
### Breaking changes
- **OAP 11 requires BanyanDB 0.11.x.** OAP pins the BanyanDB server API versions it accepts
(`SW_STORAGE_BANYANDB_COMPATIBLE_SERVER_API_VERSIONS`, `0.11` in 11.0.0) and checks them with
string equality, so pairing OAP 11 with BanyanDB 0.10.x makes OAP refuse to start. The three
versions move together see [Version Compatibility](../evaluate/version-compatibility.md).
- **`oap.ports.admin` is required.** OAP 11 enables every admin feature module by default and
serves `/status/*` and `/debugging/*` on the admin port only; they are no longer mirrored on
`oap.ports.rest`. Horizon UI reads status, inspect, DSL debugging and the dashboard template
store from it.
- **The legacy booster UI is no longer supported.** OAP 11 deleted `apm-webapp` and the
`skywalking-booster-ui` submodule along with the `docker.ui` build target, so
`apache/skywalking-ui` publishes no `11.x` tag only `horizon-*` tags. Replace
`ui.image.tag=<oap-version>` with `ui.image.tag=horizon-1.0.0`.
- **`oap.config.ui-initialized-templates` does nothing.** OAP 11 removed the on-disk dashboard
seed files and `UITemplateInitializer`, along with the sidebar menu storage, the
`UIConfigurationManagement` GraphQL mutations and `SW_ENABLE_UPDATE_UI_TEMPLATE`. Horizon UI
ships its own dashboard library and manages templates over the admin REST port.
- **Horizon is configured by environment variable, and no ConfigMap is mounted by default.** The
image ships a complete env-tokenized `/app/horizon.yaml`; the chart sets only what it computes
(`HORIZON_SERVER_PORT`, `HORIZON_OAP_QUERY_URL`, and the admin, Zipkin and public URLs when
configured) and leaves the rest to `ui.extraEnv` / `ui.envFromSecret`. `ui.config` is now opt-in:
setting it renders a ConfigMap and mounts it *over* the image's file, so fields you do not write
fall back to Horizon's defaults. If you carried a `ui.config` block from the pre-release `main`
values, move it to environment variables see [Configure Horizon](../ui/configure.md).
- **The SWCK charts are removed.** `chart/operator` and `chart/adapter` packaged
[apache/skywalking-swck](https://github.com/apache/skywalking-swck) — its image, its CRDs and its
version and had no relationship to `chart/skywalking`. They were never released to Docker Hub,
so no released artifact disappears, but installs from source or from the `ghcr.io` snapshot
channel will break. They belong with the operator, where the CRDs are generated alongside the
code that consumes them.
- **The UI no longer proxies `/graphql`.** Callers that talked to the UI's GraphQL endpoint
(for example `swctl --base-url=http://<ui>/graphql`) must target the OAP service directly on
`oap.ports.rest`.
### Features
- `ui.extraVolumes` / `ui.extraVolumeMounts`, for the two Horizon settings that take a filesystem
path: `auth.tokensFile` and `sourceMaps.bootMountDir`.
- `server.publicUrl` is derived from the first `ui.ingress.hosts` entry when an ingress is enabled,
so single sign-on callbacks and the OAuth issuer are built from the address operators actually
reach — see [UI Service and Ingress](../expose/ui-service-and-ingress.md).
- `server.port` is derived from `ui.service.internalPort`, so the BFF binds the port the container
exposes.
- `oap.extraEnv` (a list, so entries can carry `valueFrom`) and `oap.envFromSecret`, applied to the
OAP Deployment and the init Job. Note Kubernetes gives an explicit `env` entry precedence over
`envFrom`, and the chart sets `SW_ES_PASSWORD` / `SW_DATA_SOURCE_PASSWORD` itself — so sourcing
those from a Secret needs `oap.extraEnv`.
- Horizon's config hot-reload works again. The chart previously mounted `horizon.yaml` with
`subPath`, which Kubernetes never updates in place, so the file watcher could not fire.
- `tools/releasing/release.sh` and `release-passed.sh`, plus
[the release guide](../contributing/release.md) the Apache process was previously unwritten.
- The E2E suite is rebuilt around Horizon: every assertion runs through the UI's API rather than
OAP's GraphQL, so it exercises the path the chart is responsible for wiring.
- Documentation moved into `docs/` and is published at
[skywalking.apache.org/docs/skywalking-helm](https://skywalking.apache.org/docs/skywalking-helm/next/readme/).
### Corrections
- Horizon UI does **not** refuse to start without configured users. It boots, serves the login
page, and answers `/api/auth/health` with 200 which is this chart's readiness probe — so the
pod reports Ready and nobody can sign in. Earlier documentation claimed a `CrashLoopBackOff`.
See [Set Up Logins](../ui/logins.md).