vietc/CHANGELOG.md

1.3 KiB

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