Releases: SpartanJ/ecode
ecode 0.8.0
Changelog
Added
- Visual diff / patch / file comparison (#130)
2026-03-25.23-40-17.mp4
2026-03-25.23-41-50.mp4
2026-03-25.23-43-22.mp4
-
Auto-indent support (
Settings -> Document -> Global Settings -> Auto-Indent -> Smart) (#294) -
UI Themes based on the Syntax Color Scheme (
Settings -> Window -> UI Theme -> Syntax Color Scheme) (#661)
simplescreenrecorder-2026-01-18_01.40.16.mp4
- Added Color Box support (Renders a background box of the parsed color directly behind the text itself) (#825)
- Added live Markdown Preview support and markdown rendering support across the editor
-
Added Agent Client Protocol / ACP to the AI Assistant plugin
-
Native Linter/Formatter support for JSON (#828)
-
Native Linter/Formatter support for YAML (#829)
-
Code highlighting for WebAssembly (#842)
-
Code highlighting for WIT (Web Assembly Interface Types) (#844)
-
Code highlighting for CPS (#851)
-
Added
clear-indentationcommand (#854) -
Option to open new terminals in the active document’s directory (#857)
-
Added code folding for XML + HTML (#870)
-
Added terminal text reflow support
-
Add woff2 font format support
Improved
-
Do not purge erroneous config in plugins (#827)
-
Select multiple items in side panel treeview (#869)
-
Directory chooser: pasting full path does not use it (#872)
-
About dialog: can't be closed by key press (#873)
-
Improved documentation visibility, now will find the best place possible to render and auto-adjust its width (#874)
simplescreenrecorder-2026-04-19_00.38.44.mp4
- Improved signature helper positioning and now allows to render in multiple lines (enabled by default)
simplescreenrecorder-2026-04-19_00.41.36.mp4
-
Expose an environment variable to let shells detect the embedded terminal (#878)
-
Auto-Close brackets improvements:
- Word boundary behavior: Typing an opening bracket directly preceding an alphanumeric character prevents auto-closing. (e.g. typing ( before word correctly inserts ( without closing it).
- Whitespace boundary behavior: Typing an opening bracket before a space triggers normal auto-closing.
- Forward unbalanced brackets: Typing an opening bracket when there's an unmatched closing bracket ahead on the same line prevents auto-closing (so typing ( when the line is () ) doesn't insert an extra )).
- Balanced brackets: Regular auto-closing when brackets are completely matched.
- Quote balancing: If the line already has balanced quotes and your cursor is right before a quote, typing a quote will just overwrite/step over the right quote instead of adding a new pair.
-
Major refactor in AI Asssitant plugin (improved UX)
-
Added tilde support for files and folders passed as parameters from the CLI in ecode
-
Terminal scroll position does not change on terminal resize
-
Improved crash stack-traces saving on Windows (#835)
-
Greatly improved crash window on Windows, now displays the stack-trace and let the user go to report it
-
Fix text-selection in opencode and many other CLI applications
-
Allow to load multiple files and folders from the CLI
-
Update app title when focusing any new tab that it's not an editor or a terminal
Fixed
-
Press backspace button on collapsed code blocks crashed ecode (#836)
-
Allow
ftin palette outside of projects (#853) -
Fix copy paste in tree-view (#855)
-
Fix create pseudo-console spawn issues in Windows (#856)
-
Cannot type # on macOS British keyboard (Option + 3 bound to terminal tab) (#877)
-
Can't close folder if there is a terminal tab focused (#890)
-
Fix LSP graceful exit (this fixes clangd not erasing the preamble cache files)
-
Fix user-after-free during plugin reload
-
Fix
--verboseon Windows -
Fix a focusing issue when moving a terminal to the status bar terminal, hiding the terminal would not focus any editor
-
Fix a crash during debugging that happens due to invalid memory access (UIAbstractView + VariablesModel changes).
-
Fix a crash on ChatUI when closing a chat that was about to receive a server response
-
Fix terminal close warning spawning multiple times and allowing to crash the app
-
A ton of bug fixes
ecode 0.7.4
Changelog
Added
- Added text shaping and text segmentation support.
- Added
duplicate-line-or-selectiontext document command. - Added an option to reuse the previously launched terminal (#710).
- Added the option to link files in AI Assistant chat (instead of attaching directly).
- Added terminal cursor styles selection at
Settings -> Terminal -> Cursor Styles. - Added scrollbar type and mode options for the terminal.
- Added an option to configure the
Settings -> Window -> "Use editor font in input fields"(this is enabled by default but not always convenient). - Added an option to "Use status bar terminal" in the Run configuration.
- Light/dark theme now follows the system default configuration (#754).
- Terminal status bar now is a tab widget and can create any number of terminals.
- Added an option to configure to open new terminals in status bar panel (
Settings -> Terminal -> New Terminal Behavior. - Added option to force opening documents in main split (
Settings -> Window -> Open Documents in Main Split). - Added syntax highlighting for Vim Language, FreeBASIC, QB64.
- Added strip ANSI Codes option in build and run settings (for the build and run outputs).
- Added an option to set to always open terminal in exclusve mode (#800).
- Added
reset-global-file-associations(Window -> Reset Global File Associations) andreset-project-file-associations(Window -> Reset Project File Associations) commands to reset language extension priorities for languages that can be represented by more than one language grammar. - Added support for maximizing the current tab widget (commands:
maximize-tab-widgetandrestore-maximized-tab-widget), it can also be triggered right clicking a tab ->Maximize Tab Widget(#651). - Added an option to reset panel layout (#675).
Improved
- AI Chat UI has been slightly improved / redesigned.
- Improve editor "add-cursor-above" and "add-cursor-below" behavior.
- Grammars in many languages: C, C++, C#, Objective-C, Objective-C++, Markdown, PowerShell, SmallBasic, and more.
- Terminal emulator capabilities.
- File Save now defaults to the most recent save location (#734).
- Side Panel: right click on a directory and open it on new window (#736).
- Side Panel right click context menu improvements (#712).
- Side Panel: Right click on a sub-directory and "Find in folder..." (#720).
- LM Studio models are now supported in AI Assistant plugin.
- Show the ecode version on the Welcome Screen (#752).
- Improved drop-down lists width in several locations.
- Add auto-scroll when selecting and mouse cursor moves out of vertical view range in terminal.
- Improve bitmap fonts support.
- Enabled syntax highlighting in auto-complete list by default (for the newly created profiles).
- Allow to expand/contract status bar panel.
- Language extension priorities are now per-project (this is when you pick which language grammar use when more than one is available for an specific file extension).
- Display a download progress window when download-file-web is used. Also support loading images and sounds from downloads.
Fixed
- Many fixes for the LSP plugin implementation which brings better general support to LSPs, which also fixes #694, #742 and #766.
- Implemented workspace/didChangeConfiguration command in LSP client. Now it's possible to set LSP settings for this command (#694).
- Prevent dead-locks in LSP very heavy usage scenarios
- Many fixes to the terminal emulator (closes issues #740 and #800).
- In TerminalEmulator allow to select text outside the visible range.
- Fix minor bug when changing terminal font and creating a new terminal was still using the old font.
- Terminal: multiple issues with the copy/paste operations fixed. Now uses the primary selection when corresponds (middle mouse click, shift+insert). Fixed paste operation, it does not hang the app, pastes instantly contents and behaves exactly the same as other terminals.
- Many fixes in the DAP implementation.
- Fix environment not being inherited in debuggee.
- Minor fixes in native file dialogs (#706)
- Fix ca-bundle path on macOS (fixes ecode macOS app not working through TLS since I moved the assets path).
- Fixes in process kill behavior in Windows.
- Build and Run: fix run in terminal on Windows 8.1 (#740).
- Fixed various crashes related to closing a LLM chat tab while executing an HTTP request.
- Fix in Markdown folding ranges.
- Fix rare crash in debugger when dealing with multi-session DAP.
- Fix unbinded buttons in side panel when ecode is started with
-tCLI parameter (#755). - Fix how selection in terminal is enabled or disabled based on the reported application capabilities.
- Fix overlapping shortcuts and terminal shortcuts in terminal.
- Take into account the line spacing to position the cursor.
- Fix underline and strikethrough size when top and bottom positions are the same due to the small difference generated by the underline thickness (otherwise it was sometimes invisible).
- Fix paste with middle-click in OSes with no primary selection.
- Fix move event not being handled correctly within the FileSystemModel fileIsVisibleFn configuration (discussed at: SpartanJ/ecode/discussions#776).
- Fix opening nonexistent files from CLI.
- Correctly handle Private mode queries in the terminal emulator implementation.
- Fix crash when drag & dropping images into ecode.
- Fix Windows temp path resolution.
ecode 0.7.3
Changelog
Added
- Drag & drop to move files/folders in the sidebar, plus copy/paste support for file management (#71).
drag_and_drop_files.mp4
- Improved image viewer Images are now opened as in a gallery of images, you can change between the images in the same directory and zoom, rotate and mirror them (#96).
image_viewer.mp4
- Audio preview support (#96).
audio_support.mp4
- Support for native file dialogs: This is not enabled by default given that it's too new, but it can be activated at
Settings -> Window -> Enable Native File Dialogs(#653).
native_dialogs.mp4
- Added spell checker plugin.
- Added custom mouse gestures bindings support (#602).
- Added an option to reuse the first instance instead of the last when opening files (#659).
- Open Project in New Window action (#654).
- Feature to duplicate the current buffer (#632).
- Move Tab functionality to reorder tabs in the editor (#630).
- Added “Close All Tabs” action to quickly clean the workspace (#664).
- New option to open recent projects directly from the welcome screen (#658).
- Added command palette action to reload the window (#656).
- Added a new option to set files associations in projects (#585).
- Added .m4, configure.ac and configure.in syntax highlighting support (#564).
- Added gnuplot scripts syntax highlighting support (#613).
- Added Objective C++ syntax highlighting support (#616).
- Added Universal Configuration Language syntax highlighting support (#617).
- Added Assembly (ARM) syntax highlighting support (#78).
- New JEdit syntax color scheme (#660).
- Added a visual feedback when an open buffer has been deleted from disk (#608).
- Added automatic detection of the language used in
.hfiles and the possibility of picking the language manually if necessary (Settings -> Folder/Project Settings -> Treat .h files as...) (#614). - Command-line option
--no-pluginsto launch without plugins (#635). - Command-line option
--profileto start with a specific profile (#634). - Added command toggle-block-comment #604.
- Added commands convert-indentation-to-tabs and convert-indentation-to-spaces (#667).
- Added command delete-to-start-of-line (#668).
- Added command join-lines (#669).
- Added commands move-to-previous-paragraph, move-to-next-paragraph, select-paragraph, delete-paragraph (#670).
- Added commands fold, unfold, toggle-fold, fold-all, unfold-all (#683).
- Crash reports are now stored inside the user profile directory (#639).
- Added a way to quit the shell and close the terminal tab in one step (
Settings -> Terminal -> Close Terminal Tab on Exit) (#643). - Better default behavior when closing a terminal tab with a running command (
Settings -> Terminal -> Warn Before Closing Tab) (#644).
Improved
- macOS startup time
- Internal windows shadows
Fixed
- A lot of invalid memory access bugs that could provoke crashes (a lot of work has been put into this).
- Segmentation fault when working with split panes (#650).
- Fixed issue where plugins could crash on reload.
- Fixed a crash when typing > at beginning of line in front of another character #622.
- Fix possible dead-lock while closing / destructing in LinterPlugin.
- Fixed a bug when dragging of zero-sized files into ecode (#623).
- Fixed a bug where there were duplicate entries in the command palette after filtering (#680).
ecode 0.7.2
Added
- Syntax highlighting for:
- IDL (#550)
- Nix (#581)
- Scheme (#582)
- Qbs (#553)
- RPM Spec (#566)
- pkg-config (#563)
- CMakeCache.txt (#562)
- GN (#554)
- QMake (#661)
- MS Build Solution (.sln) and RC Script (.rc) (#527, #521)
- C2 (#447)
- eC (#485)
- Racket (#459)
- ReScript (#407)
- ISPC (#436)
- FixScript (#416)
- Elena (#400)
- L.B. Stanza (#402)
- Typst (#449)
- Gleam (#450)
- Koka (#451)
- Support for inheriting patterns and repositories from other syntax definitions (#553)
.ecode/.prjdisallowedsupport to disallow files allowed in the project (#563)- Registered additional file extensions:
- "Buffer Only Mode" for Global Search & Replace (#545)
bufferonlyreplace.mp4
- Tab jump modes, including a Tab Switcher (#469)
tab-switcher.mp4
- Font hinting and anti-aliasing configuration options
- Option to hide the Tab Bar (#477)
- "Build & Run" and "Build & Debug" buttons
- DAP multi-session support and Node.js debugging support
- Support for setting environment variables in the terminal process
- WebP image format support (#483)
- Basic TextMate grammar support for
$language.tmLanguage.jsonfiles - Typst LSP support
- Option to limit auto-completion to current document symbols (#482)
- AI Assistant remembers last used model
- PATH extraction from default SHELL for Linux and BSD
- Warning for missing binary paths in project build steps
- Exit code display on process run failure
- German translation updates (SpartanJ/eepp#107, #115)
- Rave syntax updates: more SIMD types, fixed typos, added builtins (#114)
- Ü syntax highlighting improvements (#116)
Improved
- Handling of binary files opened via drag and drop or tree-view (#589)
- Syntax Tokenizer performance
- YAML, Vala, and CMake syntax highlighting
- LSP restart stability
- MenuBar buttons spacing and sub-menu positioning (#535)
- oxlint set as default JS/TS linter
- German translation retrofitted for missing keys (#107, #115)
Fixed
- Signature help display bug
- LSP mouse hover conflict with linter errors
- Emscripten file parameter parsing
- Tab key-press not switching widgets with non-main modifiers
- Menu bar pop-up not hiding properly
- TextDocument creating unnecessary undo/redo history on cut
- Theme switching and cached properties
- Sub-menu positioning
- Input methods relying on OpenKey, Unikey, etc (#478)
- Crash when closing ecode with duplicate tab names on Windows
- Auto-close brackets with multiple cursors
- Folding ranges crash
- Tab-stops wrapping
- IME location updates during file loading (SpartanJ/eepp#111)
- Highlighting of
if()as functions in C, C++, JS, and TS - lldb path hack for macOS
- PATH resetting
- LSPClientServerManager locks
- malloc_trim usage when unavailable
- CreateProcessW usage and absolute path resolution on Windows (#461)
Changed
- Removed "Flash Cursor" feature
- Syntax Definitions loaded on-demand to reduce memory usage and load times
- And much more, there were too many changes too not forget about some of them
Note for macOS Users
To run ecode.app on macOS Sequoia, you need to perform a one-time step due to Apple's security requirements for unsigned apps:
- Copy
ecode.appto/Applications. - Open Terminal and run:
xattr -cr /Applications/ecode.app - Launch
ecode.app. If prompted, approve it in System Settings > Privacy & Security.
We're working on signing the app with an Apple Developer ID for a smoother experience in future updates.
ecode 0.7.1
New Features
- AI Assistant Plugin: (Docs) Interact directly with a wide range of local and remote Large Language Models (LLMs) from providers like Google, xAI, OpenAI, Anthropic (Claude), Mistral, Ollama, and LM Studio. This initial version provides a dedicated chat UI within the editor. Future updates will focus on deeper project integration (e.g., context awareness).
2025-04-12.20-40-56.mp4
-
Discord Rich Presence Plugin: Showcase your coding activity in Discord! This plugin integrates with your Discord client to display your current file and status. (Huge thanks to @bytequill for this contribution!)
-
Expanded Syntax Highlighting: Added support for 17 new languages: Blade, C3, CovScript, Fennel, Flow9, Janet, Jule, Lisp, Modula 2, Modula 3, Rave, Squirrel, Svelte, V1, YueScript, Zephir, and Ü.
-
New Language Server Protocol (LSP) Support: Enhanced code intelligence (completion, diagnostics, etc.) for C3, Lisp, Markdown, and Ü.
-
Debugging Support: Added debugging capabilities for the Ü language.
-
Tab Stop Alignment: Implemented proper tab stop support, ensuring consistent alignment when using tab characters (SpartanJ/ecode#55).
-
Document Transformation Commands: Added commands to quickly transform text:
escape/unescapeto-base64/from-base64
(These operate on the current selection or the entire document if no text is selected).
-
Improved Fuzzy Matching: Introduced a new, more effective fuzzy matching algorithm (inspired by Sublime Text's approach) for significantly better results when searching for files, symbols, commands, etc.
-
Open All Files in Folder: Added a convenient context menu option (
Right-click > Open All Files in Folder) in the file tree view.
Improvements
-
Documentation: Significantly improved documentation coverage and clarity across the project.
-
Git Plugin: Enhanced stability and functionality. For example, the branch list now indicates if a tracked remote branch no longer exists (origin gone).
-
Emoji Rendering: Color emoji fonts now render correctly with the proper size and color, even within monospaced text contexts.
-
Performance: Optimized whitespace rendering performance on wrapped lines, making it as fast as non-wrapped lines.
-
User Experience: Improved handling of user-defined
fallback-fontsettings, ensuring the default fallback font is always loaded reliably. -
Build System: Addressed issue where specifying a non-existent working directory for a build step was not handled gracefully (SpartanJ/ecode#432).
Bug Fixes
-
Fixed text wrapping not updating correctly after zooming when 'Wrap to Line Breaking Column' was enabled (SpartanJ/ecode#390).
-
Fixed a crash when using 'Cursor Undo' (
Ctrl/Cmd+U) with only one cursor present (SpartanJ/ecode#389). -
Fixed a potential crash when pasting from an empty clipboard (SpartanJ/ecode#428).
-
Fixed a crash when running
ecodein terminal mode (ecode -t) (SpartanJ/ecode#391). -
Fixed the file tree view not updating correctly after renaming a folder.
-
Fixed numerous issues within the debugger plugin for increased stability.
-
Fixed the debugger gutter background sometimes not rendering correctly.
-
Fixed the horizontal scrollbar sometimes appearing unnecessarily on wrapped documents.
-
Fixed an issue where syntax highlighting could be incorrect on the first line of a file.
-
Fixed issues with project search path filters not applying correctly.
-
Fixed a rare issue preventing scrollbars from appearing in the project view.
-
Includes numerous other minor stability improvements and fixes.
ecode 0.7.0
- Added debugging support via a new plugin that implements the Debug Adapter Protocol. This is the first revision of the protocol implementation so can't promise it's perfect.
2025-02-05.23-55-41.mp4
- Added: Allow to split editors views by dragging tabs into the tab widget corners.
2025-02-09.13-21-47.mp4
- Added Ada syntax highlighting and LSP support.
- Side panel tabs order now is persisted between sessions.
- Fixed several bugs with multi-cursor editing (#365).
- Fixed terminal not working in Ubuntu Unity 24.10 (#366).
- ecode now will load if exists a user provided CSS stylesheet from the ecode configuration path
~/.config/ecode/style.css(#370), like FirefoxuserChrome.css. - Fixed a some styling issues when switching color-scheme (#371).
- Fixed / improved line comments toggle (#384).
- Fixed a crash when clearing menu items (#386).
- Fixed window title color not matching user configuration on Windows 11 (#385).
- Fixes for file extensions (improperly filtering file extensions).
- Fixes
.txtfiles not being added into the project files. - Fixed highlighting issue in Javascript and TypeScript.
- Fixed a rare crash in the LSP.
- Fixed a crash when trying to highlight matching bracket where its line was hidden.
- Fixed enable/disable vertical scrollbar in editor not updating line-wrap.
- Fixed incorrectly adding watches of subfolders of currently loading directory creating the issue of not actually observing some folder files changes.
- Fixes in Git plugin staging.
- Fixed broken multiline function signature (#388).
- Line-wrap fix performance issue with updates over extremely long lines.
- Added incognito option parameter (#373).
- Added "delete-to-end-of-line" to text document commands (not binded by default).
- Added ${current_doc_dir} build variable (issue #383).
- Added: "flash cursor" command, this displays an animation to easily locate the current cursor, you can press 5 control (or add a keybinding for "flash-cursor" command), it can also be disabled in global document settings.
- Fixes in global search to avoid searching text in images.
- Fixed unexpected tab bar scrolling while clicking on a tab.
- Unactive tabs now shade text color a little bit.
- Fixed some window size issues on macOS.
- Speed up load times by loading asynchronously some resources before window creation and avoiding creating some of the largest submenues in settings menu.
- Fixed multi-line search in buffer bug.
- Added: display new line character in selection.
- Worked on several performance optimizations.
- Several minor fixes hard to mention.
- Cleaned up the project documentation
ecode 0.6.4
Yet another small release with bug fixes and performance improvements
- Added OCaml syntax highlighting support (thanks to @mdales!) and ocaml-lsp support.
- Added Julia LSP support using LanguageServer.jl.
- Added Fortran LSP support using fortls, plus some syntax highlighting improvements.
- Added perl LSP support using PerlNavigator, plus some syntax highlighting improvements..
- Added double click over the tab bar (on an empty space) will now open a new untitled document (issue #361).
- Added animated gif support in image previews.
- Allow to locate and open image files from the universal locator.
- Optimized multiple cursors selection (issue #356).
- Optimized how the file system directory is fetched when loading a single file from file system, now it will load asynchronously, avoiding hanging the application on very large directories (issue #357).
- Fixed using new line with multi-cursors in the same line (#364).
- Fixed linter errors and warnings being incorrectly positioned when the line was wrapped.
- Fixed how EINTR signal is handled, fixes LSP and Git plugins on Haiku (issue #83).
- Fixed selected text being deleted when switching to another application on some Linux window managers (issue #355).
- Fixed IME suggestions positioning.
- Fixed a rare crash when loading empty file from disk.
- Fixed a rare dead-lock when trying to rise the window on Linux.
- Fixed a crash when opening a file from the "Build Issues" view.
- Fixed a crash when re running "Build & Run" when a "Run" application process is still running.
- More general optimizations related to heap allocs (to improve general rendering performance).
ecode 0.6.3
This release is a hot-fix for a crash that can happen very easily while switching folders or any multi-threaded event.
Please read 0.6.2 release logs for more information about what's new.
ecode 0.6.2
Another small release with some nice improvements and many important fixes.
- When files are opened from a file explorer or from the command line and there is currently a running ecode instance files will be loaded in the last ecode instance instead of launching a new ecode instance. Option to toggle this is at
Settings -> Window -> Open Files in New Window, which is disabled by default (issue #58). - Added Regular Expressions support in all searches (document and global) (issue #147).
- Added Regular Expressions support in syntax highlighter (issue #225).
- Display subfolder hint/info when two or more files have the same file name but different paths.
- ecode now offers nightly builds available from here.
- ecode releases can now be triggered from Github Actions, simplifying the work required for new releases (this will probably translate in more frequent releases).
- Improvements in syntax highlighting for CMake files and Makefiles.
- Improved theming support, now changing themes during the same instance should work correctly (before this some colors glitched and were not applied properly, a restart was needed).
2024-10-30.00-43-06.mp4
- Added a glob match for path and extension search in the "Locate" bar (write "g your_glob_match") (issue #336).
- Added keybindings to the Auto Complete plugin. Now user can customize how auto-complete is triggered and consumed (issue #336).
- Improvements in command palette fuzzy search.
- Added a new document command to select a whole line ("select-single-line"), this differs from the normal "select-line" command that will select only the contents in the line without the last new line character (issue #340).
- Added support for Windows Shortcuts (.lnk files).
- Added Windows arm64 builds.
- Updated German translation (thanks to @NullPlane).
- Fixed a critical crash ocurred when the application was run on low-memory scenarios due to an invalid memory access, it was critical when ecode was run from Haiku (issue #292).
- Fixed a critical crash when files were closed during its loading (issue #330).
- Fixed cursor selection not selecting while hovering over minimap (issue #333).
- Fixed general performance issues in Haiku (this was causing huge load times).
- Fixed
Recent FilesandRecent Foldersbuttons in Welcome Screen not being reactive (issue #339). - Fixed a crash in build settings when adding or removing build steps and then writting into another step settings.
- Several performance optimizations for big files, large lines and also for rendering.
- And many more minor changes.
ecode 0.6.1
ecode 0.6.1
This is a small release with several bug fixes and minor improvements plus a few new features.
- Added support for editor breadcrumb plus a search symbol window that displays the symbol-tree of the document (trigger with ctrl+alt+l if using LSP, this feature is an LSP plugin feature).
breadcrumb.mp4
- Added support for custom tab visualization, now the user can customize the aligment and character used (issue #37).
indenttabcharacter.mp4
- Added AWK syntax highlighting.
- Added support for FreeBSD builds.
- Allow to drag folder into the editor and it will load the folder (issue #314).
- Allow opening multiple files from "Open File" (issue #252).
- Don't open welcome tab when documents are already opened in a new session (issue #325).
- Highlight fix for comments in a few languages (issue #326).
- Added "create-new-welcome-tab" command to open the "Welcome" page anytime (issue #323).
- Greatly improved performance drawing whitespaces when using line-wrap on large lines.
- Flag the document as modified until saved when changing it's line ending (issue #315).
- Fixes in Build Settings, there were some crashes related to UI element bindings.
- Fixes an error initializing typescript-language-server on windows (issue #310).
- Fixes a "New Folder" bug in Open File / Folder dialogs that ended up in a crash (issue #306).
- Fixed custom color-schemes not loading properly (issue #301, fixes Ini file load bug).
- Fixed double click selection on locked documents.
- Fix crash when reloading plugins and triggering subscribed events.
- Fixed multiline commit text not being visible after the first line.
- Keep folded regions on folding ranges refresh even if the folded region disappears from the new folded regions. This will prevent ecode from crashing.
- Display signature help if avialable and not symbol info is available when pressing lsp-symbol-info (F1).
- Improved auto-close brackets behavior on selection (when you select a range an insert an open-close bracket).
- File locator now displays the relative path to the open folder instead of the full path of a file.
- Improve universal locator options when no folder is open (fixes #303).
- Highlight LANGUAGE in CMake files (issues #293)
- Several minor bugfixes don't worth mention in detail but that will help with ecode's stability.
- Performance improvements when editing big files.

