From a87668c183e22dde24239c2befd6e1656470b809 Mon Sep 17 00:00:00 2001 From: vumas3r Date: Thu, 15 Oct 2026 17:42:21 -0600 Subject: [PATCH] docs: add CHANGELOG.md covering every release so far Add a changelog from the first release (2026.10.12.1) up to 2026.10.15.3, newest first, with Added/Changed/Removed/Fixed sections and the commit behind each entry. List dark mode under 2026.10.15.3, since it shipped without a version bump. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01JZPd3GGWyxTgAkL6a4gAJz --- CHANGELOG.md | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..9fed8d2 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,103 @@ +# Changelog + +Notable changes to kubestronaut-sim, newest first. A version is the `VERSION` string in `ksim` +(year.month.day.n); `./ksim help` and the top bar of the web page show the one you are running. +Every entry names the commit it came in. + +## 2026.10.15.3 — 2026-10-15 + +### Added + +- **Browser UI in the style of [CK-X](https://github.com/sailor-sh/CK-X)** (`bab85d1`), itself + modelled on the Linux Foundation exam UI. Written from scratch, with nothing loaded from the + network. + - **Landing page.** The track switch sits in the top bar. **Start exam** opens a dialog to pick + the session: the next step on the path, an objective, a domain, the next domain, the whole bank, + tasks of your choice, a simulator set or a full exam, with or without hard mode. The full exam + warns while a domain has not been drilled yet. Below the dialog button come the path, a card per + domain, and every objective with its notes and skip links. While a session is prepared, an + overlay shows the clusters' progress and log; it comes back if the page is reloaded meanwhile. + - **Exam screen.** A dark top bar holds the clock and three menus: *Exam Interface* (fullscreen, + panel sizes, reconnect the desktop), *Exam Controls* (submit, pause, restart the clock, + terminate the session) and *Exam Information* (exam instructions, Kubernetes docs, history). + The light question panel has `< Question N of M >`, with flags and grades marked. Each task is + headed *Solve this question on instance: `ssh host`*, and ends with **Flag for review**, + **Satisfied with answer →** and, in drills, **Check this task**. The remote desktop sits beside + it, with reconnect and fullscreen buttons and a divider you can drag. + - **Results page.** Points, pass or fail, bars per domain, every task's checks and reference + solution, *View answers*, *Drill what I missed*, *Review tasks* and *History*. + - A session started in the browser opens a "Ready to begin" dialog, and its **Start** puts the + full time on the clock. +- **Terminate session** and **Delete the hosts** (`bab85d1`), backed by `POST /api/terminate`. An + open session ends ungraded and nothing is recorded, as with `./ksim abort`; a finished session + only loses its hosts. Either way, only that session's hosts are deleted. The session payload now + says whether a session was aborted. +- **Dark mode** (`db2575b`): ◐ Auto (your system's setting, the default), ☀ Light or ☾ Dark. The + switch is in the landing page's top bar, the *Exam Interface* menu and on the results page. The + browser keeps the choice and applies it before the page draws. This came without a version bump. + +### Changed + +- The landing page, exam screen and results page replace the lobby overlay, the number rail with + its task pane, and the old results overlay. The browser remembers hard mode and the width of the + question panel. + +## 2026.10.15.2 — 2026-10-15 + +### Added + +- **`./ksim restart` and a Restart clock button** (`c244bd9`). The session's full time goes back on + the clock and starts running; the hosts, the work on them, results, flags and notes stay. Like + pause, it is recorded nowhere: the attempt's time used counts from the restart. A submitted + session refuses it. The button is backed by `POST /api/restart`. + +## 2026.10.15.1 — 2026-10-15 + +### Removed + +- **Study mode** (`c266eeb`): there are no more untimed sessions with the reference solutions open + from the start, and `./ksim study` is gone. Every session runs against the clock. + +### Changed + +- The path is objective drills against the clock, then a mock, then the fixed simulator sets. An + objective is done when every task passed on its latest timed attempt; the "studied" stage and its + `~` mark are gone. `./ksim next` always drills, and the lobby's "Study mode" became "Drill an + objective". +- `study-.json` keeps your focus, the domains you marked known and when each objective was + done. Results of old study sessions stay in it, read by nothing. + +### Added + +Work from 2026-10-13, first committed here: + +- **`./ksim skip` / `unskip`**, and the lobby's "I know this — skip it" links. They mark a domain or + an objective as known, so the path, the drill with no argument and `drill all` leave it out. A + mock still draws from every domain. +- **`DOMAIN:N`** picks N tasks of a domain spread over its objectives: `./ksim drill OBS:3`, or + `./ksim next OBS:3` to add them to the next step. +- A command with neither `--track` nor `KSIM_TRACK` is for the track whose session is under way. + `./ksim show` says where a task's host resolves. + +### Fixed + +- CKAD Q60: its check now says which file holds which run's output. + +## 2026.10.12.1 — 2026-10-13 + +The first release (`f3d0e53`), grown out of `cka-sim`. + +- **One host per task.** Each task gets a kind (kubeadm) cluster in rootless podman, with real etcd, + a static-pod control plane and a systemd kubelet. You reach it with `ssh ` from a remote + desktop in the browser (XFCE, a terminal, Firefox limited to the documentation the exam allows). +- **CKS hosts** carry kube-bench, trivy, kubesec, kube-linter, bom, cosign, istioctl, gVisor and + Kubernetes from apt packages. The Falco and AppArmor tasks run on QEMU/KVM Ubuntu VMs. +- **A pull-through image cache** (`ksim-registry`) keeps sessions under Docker Hub's pull limit. +- **Task banks:** CKA 131, CKAD 105 and CKS 110 tasks, with at least 17 pool tasks in every domain. + Each track comes with its curriculum, study notes, reference solutions and scripted solutions. +- Drills, full mocks with hard mode, the fixed simulator sets (CKA C and D, CKAD A), a curriculum + path with study mode, attempt history and weak spots. +- `./ksim coverage` and `./ksim audit`. All 346 tasks pass the audit: each seeds cleanly, scores + nothing untouched and reaches full marks with its scripted solution. + +The repository's initial commit (`3d7605c`) holds the licence and a stub README.