diff --git a/docs/release-notes/v0.4.0.md b/docs/release-notes/v0.4.0.md new file mode 100644 index 0000000..b22d4d9 --- /dev/null +++ b/docs/release-notes/v0.4.0.md @@ -0,0 +1,61 @@ +# v0.4.0 — Performance & stability overhaul + +## ✨ New features + +**Terminal performance overhaul** +* Heavy output (long boot logs, big file dumps) now renders much more smoothly — drawing was + reworked to stop re-creating fonts and brushes on every frame. +* Scroll-back history storage was rebuilt so the terminal stays fast no matter how much output + has accumulated; previously it got slower and slower once the history buffer filled up. + +**Full-screen apps (vim / htop) behave like a real terminal** +* The mouse wheel now scrolls inside full-screen tools like `vim` and `htop` instead of doing nothing. +* Tools that ask the terminal "where is the cursor?" now get an answer — fixes full-screen apps + that could hang on startup or draw at the wrong position. + +**Connection status you can actually see** +* When an SSH connection drops or hits an error, a message now appears right in the tab — + no more sessions that silently stop responding. +* When the local shell exits (e.g. you type `exit`), the tab shows + `[ETTerms] shell process exited` instead of just going dead. + +**Faster PDU status (GUI and AI)** +* Outlet polling now bundles all 12 ports into a few SNMP requests instead of 36 separate ones — + the Status page refreshes faster, and an unreachable PDU no longer stalls the poll for minutes. +* The AI `pdu_status` tool gets the same speed-up. + +## 🐛 Bug fixes + +**Garbled Chinese / non-English text** +* Fixed: multi-byte characters could occasionally turn into `�` garbage when text was split + across data chunks — this affected TTL script `wait` matching, what the AI reads over the + serial bridge, and saved session log files. All three now decode correctly. + +**Scrolling** +* Fixed: while you were scrolled back reading history, any new output yanked the view down to + the bottom. The view now stays where you are and only follows when you're already at the bottom. + +**Resource & stability** +* Fixed small memory and handle leaks when opening and closing many local shell tabs over a + long session. +* Fixed: typing into an SSH session after the connection died could crash the window — it now + just prints a short "write failed" note in the tab. + +## 📦 Downloads + +Two builds are produced: + +| Build | Needs .NET 8 Desktop Runtime? | Notes | +|-------|-------------------------------|-------| +| **Standard** (`ETTerms_v0.4.0`) | ✅ Yes | Smaller; for machines that already have the runtime | +| **Portable** (`ETTerms_v0.4.0_portable`) | ❌ No | Runtime bundled — unzip and run, no install / admin needed | + +Run `ETTerms v0.4.0.exe`. + +## 🔗 Links +* PDU MCP & Serial MCP setup guide: + [docs/serial-mcp-guide.md](https://github.com/ETWen/ETTerms/blob/main/docs/serial-mcp-guide.md) +* TTL reference: + [docs/ttl-script-reference.md](https://github.com/ETWen/ETTerms/blob/main/docs/ttl-script-reference.md) + +**Full changelog:** [v0.3.3...v0.4.0](https://github.com/ETWen/ETTerms/compare/v0.3.3...v0.4.0)