36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
# Changelog
|
|
|
|
## v0.1.0 (2026-06-26)
|
|
|
|
Initial release.
|
|
|
|
### Engine
|
|
- Direct Input engine — no pre-edit buffer, no underline, no text duplication
|
|
- Telex and VNI input methods
|
|
- Flexible diacritic placement (tone/modifier at end of syllable)
|
|
- Auto-restore English words on space/ESC
|
|
- ESC undo (strip all tones from current word)
|
|
- Macro expansion with custom shortcuts
|
|
- Casing preservation (titlecase, uppercase)
|
|
|
|
### Injection
|
|
- X11 keyboard capture via XGrabKeyboard (no root, no /dev/input)
|
|
- Direct X11 clipboard injection (XSetSelectionOwner + XTest Ctrl+V)
|
|
- Bundled xclip + wl-copy for Wayland fallback
|
|
- Unified injection channel to prevent ordering race conditions
|
|
|
|
### Daemon
|
|
- **Backspace-Replay pattern** — replays entire keystroke history through a fresh engine on every keypress, eliminating state desync
|
|
- FocusIn/FocusOut detection for automatic engine reset
|
|
- CPU pinning to P-cores (0-3) + nice(-10) priority boost
|
|
- Hot-reload config without restart
|
|
- Smart app memory (per-application Vietnamese/English)
|
|
- Persistent logging with 10MB rotation
|
|
|
|
### Packaging
|
|
- AppImage with bundled xclip (no manual setup needed)
|
|
- Debian package with proper conffiles, maintainer scripts, and lintian overrides
|
|
- Systemd user service
|
|
|
|
### Testing
|
|
- 255+ unit tests across engine, protocol, daemon config, and replay
|