- Add SourceViewsBaseState inheritance to Command, Insert, MultiInsert, and ReadOnly states
- Extract common focus_in_event logic to base class
- Fix open-files command to use current file's directory as file picker start path
- Extract modifier key state logic into reusable get_modkeys_states() method
- Pass modifier keys to command exec_with_args in key_press_event
- Add type hints to key_mapper methods
- Refactor exec_with_args to use *args/**kwargs instead of tuple arguments
- Add *args/**kwargs to all command execute functions for consistency
- Support multiple key bindings per command in registration
- Add character-based key binding support via get_char() in KeyMapper
- Make execute_plugin async and use asyncio.run for plugin execution
- Use MIME type from Gio content_type instead of language for ftype
- Add FileExternallyDeletedEvent with UI indicator in tabs for deleted files
- Set minimum height (300px) for editors container
- Add Developer Tools to WebKit context menu
- Fix DnD URI handling when uris list is empty
- Fix buffer replacement using freeze_notify and proper bounds handling
- Move webkit_ui_settings to new path
- Remove <change_me> placeholders from APP_NAME and user config
- Debounce word completer refresh with 1500ms timeout to reduce overhead
- Add visual indicator (file-changed class) for modified files in tabs
- Refactor buffer switching into signal_mapper for DRY code
- Fix handler ID indices after adding _after_changed signal
- Move set_modified(False) after successful file write in save()
- Replace CSS-based zoom (px1-px99 classes) with Pango.FontDescription
- Fix bug in multi-insert: insert at start_itr instead of end_itr
- Add Pango-based font setup for mini-view widget
- Revamp stylesheet with Light Blue-Grey Glass theme
- Renamed alt_provider.py file under words completer
- Improve word completion matching logic with character validation
- Change container orientations (header→vertical, left/right→horizontal)
- Add separators to all container edges
- Refactor webkit UI loading into separate load_url/load_context_base_path methods
- Add comprehensive webkit browser-like settings
- Moved plugins to apropriate sub folders
- Refactor command system with new add_command method and rename GetCommandSystemEvent to GetNewCommandSystemEvent
- Add RegisterCommandEvent for dynamic command registration
- Change footer container orientation to VERTICAL
- Add search-highlight tag to source buffer
- Add file change detection (deleted, externally modified) in source_file
- Add JSON prettify option to source view popup menu
- Enable hexpand on VTE widget
- Update plugins_controller_mixin to use widget_registry