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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JZPd3GGWyxTgAkL6a4gAJz
This commit is contained in:
parent
db2575b15e
commit
a87668c183
103
CHANGELOG.md
Normal file
103
CHANGELOG.md
Normal file
@ -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-<track>.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 <host>` 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.
|
||||
Loading…
Reference in New Issue
Block a user