Skip to content

CodeLite 19.0.0 Release Notes

This release covers all changes since 18.5.0. It is a work in progress — this page will be updated as new commits land.

Improvements

  • The Web development profile of the bootstrap wizard no longer enables the removed WebTools plugin.
  • The Claude Code plugin is now called Agent Host, and its menu moved to Plugins → Agent Host. Your existing settings (including the path to the claude executable) are kept, and the plugin stays enabled after you upgrade.
  • The keyboard shortcut for Launch Claude Code changed from Ctrl-Shift-I to Ctrl-Shift-C.
  • The keyboard shortcut for the Diff plugin's New File Comparison changed from Ctrl-Shift-C to Ctrl-Alt-C, to avoid clashing with the new Agent Host shortcut.
  • Double-clicking in the built-in terminal now selects a whole URL or command that contains = or ?, instead of stopping at those characters.
  • The tab switcher (Ctrl-Tab) now uses the same alternate row colours as the rest of the IDE.
  • Opening a file that can't be read, or one larger than 100 MiB, is now logged as a debug/warning message instead of an error, which reduces noise in the log.
  • Loading a remote workspace is now faster. The SSH connection for the remote language server (LSP) is created in the background, so the UI no longer waits for it. In tests, loading is 3x faster or more.
  • Agent Host now supports Kiro CLI. Start it from Plugins → Agent Host (Ctrl-Shift-K) or from the side bar. Each agent type keeps its own page.
  • Agent Host now supports OpenCode. Start it from Plugins → Agent Host → Launch OpenCode or from the side bar. The Chat AI system prompt is passed to OpenCode with a config file (opencode.json, in the .codelite folder of the workspace) that lists the prompt file under instructions, and the OPENCODE_CONFIG environment variable. The prompt is added to the OpenCode instructions. It does not replace the OpenCode system prompt. For remote workspaces, OPENCODE_CONFIG is set only in the local SSH process, so the system prompt is not passed unless your SSH account forwards that variable.
  • Agent Host: the side bar now has one button (instead of one button per agent). Click it to open a menu with Claude Code, Kiro CLI and OpenCode. Each item shows its icon and keyboard shortcut.
  • Agent Host: the Settings dialog now has the path to the kiro-cli and opencode executables (like the one for claude), and the extra review arguments for OpenCode. If a path is empty, CodeLite looks for the executable in the PATH.
  • Starting a build now moves the focus to the Build tab of the Output pane.
  • A terminal that you open with a keyboard shortcut now starts in the working folder of the active workspace.
  • Agent Host now moves the focus to the terminal when you click its tab. The warning about a missing workspace now shows the name of the agent.
  • The tab of a read-only editor now shows a lock icon.
  • The tooltips of the side bar buttons now show the keyboard shortcut of the action.
  • Double-clicking in the built-in terminal now keeps @ and & inside the selected word.
  • The Save toolbar button and menu item are now enabled only when the editor has unsaved changes.
  • The right-click menu of a tab that is not an editor now shows only the close actions (Close, Close All, Close Other Tabs, Close Tabs To The Right). The More Copy Options submenu is hidden for these tabs.
  • The tab bar drawing on macOS now shares the code used on the other platforms, and tab borders use one colour.
  • On Linux (GTK), CodeLite no longer shows a dialog and starts gdb when it crashes with SIGSEGV or SIGABRT. It now crashes normally.
  • On Linux, a crash (including SIGABRT) now prints a stack trace before CodeLite exits.
  • Saving a remote file over SFTP is faster: it needs fewer network round trips (5 instead of 7 for an existing file, 4 for a new file). This also makes loading a remote workspace faster on slow connections.
  • Creating a remote folder over SFTP now works like mkdir -p: missing parent folders are created too.
  • Agent Host now passes the Chat AI system prompt to the agent. For Claude Code it is sent with --append-system-prompt-file. For Kiro CLI it is written to .kiro/steering/SYSTEM_PROMPT.md in the workspace. Nothing is written when the system prompt is empty.
  • wxCrafter: added a Generate .h files option. When it is enabled, generated derived-class headers use the .h extension instead of .hpp.
  • On Linux under WSLg, icons are now scaled by GDK_DPI_SCALE (between 1 and 2), so they match the size of the other controls.
  • SFTP: added Sync Folder with Remote to the right-click menu of folders in the folder views. Choose the account and the remote folder, select the files, and CodeLite uploads them one by one. When the sync starts, the SFTP Log view opens and shows the progress, and you can cancel there. See the SFTP plugin page.
    • The file list has a filter field (not case sensitive, matches any part of the name), Select All and Unselect All buttons, and the Space key checks or unchecks the selected file.
    • CodeLite remembers the account and the remote folder, and the missing remote folders are created for you.
    • In a File System Workspace with Enable remote development, the dialog is filled with the account and the remote folder of the workspace: <remote workspace folder>/<selected folder, relative to the workspace root>. If remote development is disabled, or no remote folder is set, the Remote folder field is empty.
  • SFTP: added Sync Files with Remote to the right-click menu of files in the file views. Select one or more files (they can be in different folders) and upload them to the remote machine. The file list shows the Local Path and the Remote Path of each file, relative to the Local Folder and the Remote Folder. The Sync Folder with Remote dialog uses the same layout now. See the SFTP plugin page.
  • SFTP: the remote folder and file browser dialog now supports type-ahead search. Type the first letters of a name to jump to the matching entry (typing again within about a second continues the search). Backspace still goes to the parent folder.
  • SFTP: the Sync Folder with Remote dialog and the remote browser dialog now use the alternate row colours, and the sync dialog opens at a size that fits its content.
  • Language Server: the Language Server view now has two tabs, Progress and Log. The Progress tab shows the progress that language servers report (for example, indexing). Each task has its own row with the server name, a progress bar and a message, and the row is removed when the task is done. The progress updates are no longer written to the log.
  • File System Workspace: added a Sync File On Save option to the Remote page. When it is enabled, every file you save or change with Replace in Files is also uploaded to the remote machine, and renamed or deleted files are renamed or deleted there too (folders are not synced). The option is off by default, so enable it in existing workspaces that use remote development. See the File System Workspace page.
  • File System Workspace: renaming a file in the workspace tree now lets source control plugins (for example Subversion) do the rename.
  • The Output pane no longer has the drop-down button and the Hidden Tabs menu. The tabs share the available width, and the scroll buttons appear when they do not fit.
  • Agent Host: after you click a file link in the terminal, the file opens and the editor gets the focus.
  • CodeLite now comes with the Iosevka font (Iosevka, Iosevka Fixed and Iosevka Term, licensed under the SIL Open Font License). Iosevka Term is the new default editor font, so you do not need to install a font yourself. Your own font choice is not changed.
  • When you start CodeLite with a workspace on the command line, CodeLite opens that workspace and does not restore the last session.
  • Agent Host: when text is selected in the terminal, the right-click menu now has Search '<text>' in Workspace and Open Symbol '<text>'. Only the first line of the selection is used. Search ... in Workspace shows the keyboard shortcut of Grep Selection in the Workspace (if you assigned one), and that shortcut now also works when the focus is in the Agent Host terminal.
  • On Linux, the default editor font size is now 18 (it was 14), because the old size was too small with the new default font.
  • The right-click menus of the editor and of the editor tabs now show the correct keyboard shortcuts.
  • The Chat AI prompts folder is now created only when a prompt is written, and the messages about the default prompts are logged at debug level.
  • Agent Host: added Review Buddy. A second agent (any of the supported agents) reviews the work that is not pushed yet, in a pane next to the main agent. Start it from the right-click menu of the Agent Host terminal.
    • The two agents work in the same folder and talk to each other through files in .agents/reviews/<id>/. The reviewer writes its comments, the main agent fixes them, and the reviewer checks again. This repeats until the review is clean, or for at most 5 rounds.
    • CodeLite types the requests into the terminals for you and tells you when the review is finished, when the round limit is reached (the last fixes are not reviewed in that case), or when an agent seems to wait for you for a long time. If you are not looking at the page, you get a system notification.
    • The right-click menu also has Resend, Stop, Open the Latest Review and Close Review Buddy.
    • It needs a working directory inside a git repository (a sub-folder or a worktree is fine). It works for remote workspaces too. The .agents/reviews/ folder is added to .git/info/exclude, so it does not show in git status.
  • Agent Host: the sash between the terminals now has a 3D look.
  • The View menu now has Open Terminal....
  • PHP: XDebug now works with any local workspace that has XDebug selected as its debugger. The settings are in the new PHP → XDebug Settings... dialog, and are stored in .codelite/xdebug.json. See the XDebug page.
  • PHP: the XDebug setup wizard now writes Xdebug 3 settings (xdebug.mode, xdebug.client_host, xdebug.client_port, xdebug.start_with_request), and the default port is now 9003. Saved settings keep their port. Command line debugging now uses XDEBUG_SESSION and client_host/client_port.
  • wxCrafter: the folder for the generated base classes is now selected with WXCGEN_FOLDER_MAP=<base_dir>=<target_folder>. Set it as an environment variable, or in a .wxcrafter-environment file (one NAME=VALUE per line) in the .wxcp folder or in one of its parent folders. This replaces the .wxcgen.json file, and wxcgen no longer has the -p option. The wxCrafter UI and wxcgen use the same rule.
  • wxCrafter: new option Generate the bitmaps code inside the base class source file in the wxCrafter settings. It is off by default: the bitmaps code is still written to the separate *_bitmaps.cpp file, so existing build systems keep working. When it is enabled, no *_bitmaps.cpp file is generated.
  • wxcgen: new switch --bitmaps-in-base-class-file (the same as the option above), and new switch --verbose, which prints the output folders and the generated files of each input file.
  • The Plugins dialog (plugin manager) now uses a list with check boxes, and supports type-ahead search.
  • The layout of the Environment Variables dialog, the Keyboard Shortcuts dialog and the New Keyboard Shortcut dialog was improved. The text in the Environment Variables dialog is wrapped.
  • Language Server: added support for doc blocks generated by the language server. Type /** above a function or class and press Enter. See the Language Server page.
  • The shortcuts of the main frame (for example F6, which toggles the terminal view) now work while a built-in terminal has the focus, including the Agent Host terminals.
  • The Find In Files and Replace In Files views now show a status line at the top with the search description and summary. They are no longer written into the results text. The views use a themed toolbar, and the width of the horizontal scrollbar is calculated once, when the search ends.
  • The Find In Files dialog and the Replace In Files panel now use a better font size on Windows.
  • The recent workspaces on the welcome page are now shown in a list with the columns Name, Account, Type and Path. Click a column header to sort, and type to search. Local workspaces use a house symbol and remote workspaces use a globe symbol.
  • The built-in terminal now starts in the working directory it is given, and uses bash (MSYS) as its shell on Windows.

Bug Fixes

  • Fixed a possible crash when switching between editor tabs.
  • Fixed a crash when opening a .workspace file from the command line (#4080).
  • Fixed the File System Workspace and Docker views losing their view options (for example Link to Editor and showing hidden files and folders) after a restart.
  • Fixed some tabs of the Output pane being hidden after a restart, with no way to show them again. All the Output pane tabs are now always visible.
  • Fixed the selected tab jumping from file to file while CodeLite restores the last session when it loads a workspace.
  • Fixed clicking a link in the built-in terminal opening a broken page when the link ended with a period (for example, a URL at the end of a sentence).
  • Fixed the Chat AI context-usage counter growing on one-off requests that don't use the conversation history, such as generated code comments.
  • Fixed the remote language server (LSP) giving no output after it was restarted in a remote workspace.
  • Fixed a read-only request that was refused (because the editor had unsaved changes) still leaving the editor locked.
  • Fixed the Mark Read-Only menu item keeping an old state when no editor is active.
  • Fixed a wrong tab label menu on macOS.
  • Fixed the tab icon appearing after the label on Linux (GTK).
  • Fixed the tab close button not reacting to clicks. The clickable area did not match the position of the icon.
  • Fixed the log going to the terminal (stdout) instead of codelite.log when CodeLite starts with a new data directory (-d). The log file is now created when it does not exist.
  • Fixed the Git Commit dialog starting a new git process while another one is still running, and fixed type-ahead search not setting the current item in lists.
  • Fixed running a program without the debugger on Windows: CodeLite now starts the correct terminal helper (glypht) (#4150).
  • wxCrafter: fixed the Generate .h files setting being read only when a project is loaded.
  • Fixed a random crash on Linux at startup, caused by the built-in terminal loading its theme files in a background thread.
  • Fixed the last session not being restored when CodeLite opens a workspace from the command line.
  • Fixed the highlight of the word under the caret moving away from the word after multi-byte characters (for example non-English text).

Build

  • build.sh now builds wxWidgets v3.3.3.1 on macOS and Windows, and v3.3.2 on Linux. wxGTK v3.3.3 and newer crash the WSLg Weston compositor when copying text with Ctrl-C.
  • Installed binaries no longer contain the build directory in their RPATH. They only look in the plugins directory. This is needed by strict packaging systems such as OBS (#4079).
  • build.sh has two new Windows-only targets: wxcrafter builds wxCrafter, and package_wxcrafter also creates the installer.
  • build.sh has a new option, --no-build. It runs cmake only and skips the build step.
  • Windows: building CodeLite no longer needs wx-config-msys2. CMake finds the wxWidgets that build.sh builds using its CMake package config, and build.sh no longer builds wx-config-msys2.
  • The wxcrafter_target CMake macro no longer takes an output folder: the base classes are generated in the build folder, in the same relative path as the .wxcp file has in the source folder. It passes --bitmaps-in-base-class-file to wxcgen, so the *_bitmaps.cpp file argument is gone too. If you use the macro in your own CMake files, remove these arguments.
  • Added BUILDING.md with up-to-date build instructions, and Bash completion for build.sh. The outdated BuildInfo.txt was removed.

Documentation

  • The AI documentation is now in a new section, AI In CodeLite, with two pages: AgentHost Plugin and Chat AI.
  • The old Claude Code plugin page was replaced by the AgentHost Plugin page. It now covers Claude Code and Kiro CLI, how to enable the plugin, how to set the executable paths, and how the Chat AI system prompt is passed to each agent.
  • Removed the Node.js workspace and Node.js debugger pages. The WebTools plugin that provided them was removed earlier.

Localization

  • Updated Italian and Japanese translations.
  • Added missing French translations.
  • General translation/PO file refresh.

For the full list of commits, see the commit history since the 18.5.0 tag.