- Add `_lsp_java_class_file_contents` request to fetch contents of compiled Java classes via LSP (`java/classFileContents`).
- Handle `java/classFileContents` responses by opening a new buffer with Java syntax highlighting and inserting the returned source.
- Update definition handling to pass URI and range, enabling precise cursor placement after navigation.
- Detect `jdt://` URIs in `textDocument/definition` responses and request class file contents instead of direct navigation.
- Move goto navigation logic into `LSPServerEventsMixin`, using event system to access the active view and position the cursor.
- Expose `emit` and `emit_to` to the response cache for event dispatching.
- Restrict completion activation to `USER_REQUESTED`.
- Add TODO note about mapping language IDs to dedicated response handlers.
- Moved cut_to_temp_buffer and paste_temp_buffer commands to plugin
- Remove temporary cut buffer logic from SourceView
- Remove related keybindings (Ctrl+K / Ctrl+U)
- Fix word-end detection in ProviderResponseCacheBase to avoid extending past line end
- Improve completion controller to support RequestCompletionEvent with optional provider filtering
- Add GetActiveViewEvent handling in SourceViewsController
- Ensure view scrolls to cursor after buffer switch via GLib.idle_add
- Emit focus-in-event after DnD file load to restore focus behavior
- Prevent "buffer" pseudo-path from interfering with loaded file filtering
- Remove obsolete AGENTS.md from LSP manager plugin
- Moved prettify_json and lsp_completer plugins to sub categories
- Add filter_out_loaded_files to prevent opening already-loaded files
- Refactor code events into single events module
- Fix signal blocking during file load operations
- Include READONLY state in source view lifecycle handling
- Remove tabs controller, tab widget, and tabs widget files and move to plugin
- Delete plugins/README.txt
- Add register_controller method to controller system for plugin use
- Add error handling for plugin crashes via futures callback
- Replace direct InfoBarWidget with set_info_labels command that emits
events to plugins
- Replace mini view widget in favor of plugin-based one
- Add widget registry exposure for code-container and editors-container
- Fix DND mixin exec_with_args call (tuple args issue)
- Add break statements in tabs_widget loops for efficiency
- Add _update_transparency call to BaseContainer
- 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