| 1 | # Changelog |
| 2 | |
| 3 | All notable changes to bench51. The format follows |
| 4 | [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and versions follow |
| 5 | [Semantic Versioning](https://semver.org/). |
| 6 | |
| 7 | ## [Unreleased] |
| 8 | |
| 9 | ### Added |
| 10 | |
| 11 | - Vim keybindings in the GUI editor, on by default: Normal, Insert, Visual |
| 12 | and Visual Line modes, motions with counts, operators with text objects, |
| 13 | registers, undo/redo, `.` repeat, macros, search with highlighting, and |
| 14 | `:w :q :wq :e :make`. A block cursor and a mode line show the state, and |
| 15 | `gd` jumps to a label's definition. |
| 16 | - A Settings menu with Keybindings (Vim / Standard) and Theme, and a |
| 17 | `--keymap vim|standard` flag. |
| 18 | |
| 19 | ### Changed |
| 20 | |
| 21 | - Theme moved from the View menu to Settings. |
| 22 | |
| 23 | ### Fixed |
| 24 | |
| 25 | - `--theme`, `--keymap` and `--clock` no longer overwrite the saved |
| 26 | settings; they only apply to that run. |
| 27 | |
| 28 | ## [0.2.0] - 2026-11-01 |
| 29 | |
| 30 | ### Added |
| 31 | |
| 32 | - **bench51-gui**, a desktop IDE laid out like Keil µVision: menus, toolbar, |
| 33 | Project window, editor with breakpoint and error gutter, Build Output, and |
| 34 | in a debug session the Registers, Disassembly, Memory, Symbols, UART #1, |
| 35 | Ports, Timers and Interrupts windows. Windows dock and tab anywhere; the |
| 36 | edit and debug layouts are remembered separately. |
| 37 | - Monochrome, dot-matrix design in dark and light themes (follows the |
| 38 | system by default), with Space Grotesk, Space Mono and Doto bundled. |
| 39 | - µVision's keys (F7, Ctrl-F5, F5, F10/F11, Ctrl-F10/F11, F9) with the |
| 40 | TUI's as aliases; find (Ctrl-F); inline memory editing; clickable SFR |
| 41 | bits and port pins; drag-and-drop to open files. |
| 42 | - Prebuilt releases for Linux (x86_64, aarch64), Windows (x86_64) and macOS |
| 43 | (Apple silicon, Intel), with one-line installers: `install.sh` for Linux |
| 44 | and macOS, `install.ps1` for Windows. |
| 45 | - CI on Linux, Windows and macOS. |
| 46 | |
| 47 | ### Changed |
| 48 | |
| 49 | - The assembler, simulator and debugger session moved into a shared |
| 50 | `bench51-core` crate used by both front ends. The terminal app behaves |
| 51 | as before. |
| 52 | - Unsafe code is forbidden across the workspace. |
| 53 | |
| 54 | ## [0.1.0] - 2026-10-23 |
| 55 | |
| 56 | ### Added |
| 57 | |
| 58 | - `bench51`, a terminal (TUI) 8051 IDE: editor, two-pass assembler for the |
| 59 | full instruction set with Keil-style listing and Intel HEX output, |
| 60 | simulator with timers, interrupts, UART and ports, and a debugger with |
| 61 | breakpoints, stepping and memory poke. |
| 62 | - Headless assembly with `bench51 --assemble`. |
| 63 | - Opening Intel HEX files as disassembled, re-assemblable source. |
| 64 | |
| 65 | [0.2.0]: https://github.com/krolyxon/bench51/releases/tag/v0.2.0 |