Releases: Genio-The-Haiku-IDE/Genio
Genio v3.1
Genio v3.1
This is a minor bugfix release. Here's what we fixed:
- Fixed crash when hovering over Git Switch to branch menu without an active project.
- Fixed FindAndReplacePrevious/Next not working correctly in certain situations.
- Fixed tooltip showing spuriously on Outline view.
- Fixed minor memory leak.
Genio is now installed in /system/apps/ so you can also run it directly from the commandline without entering the full path
Full Changelog: v3.0...v3.1
v3.0
Genio v3.0
We’re excited to announce the release 3.0 of Genio! This version brings some new features, improvements, and bug fixes.
New features
- Genio now includes an automatic symbol renaming function that works over the entire project
- Added autogenerated class outline with shiny icons that adapts to system colors
- Support for .editorconfig for better integration with other editors
- Added ability to import multiple files into a RDEF file as array (resources).
- Project settings handling has been rewritten and they are now applied live.
- Experimental support for application scripting and extensions.
- Added function to remove a search result.
UI
- Moved some settings under more fitting groups, and improved wording (Humdinger).
- Improved project context menu.
- Added separator between Clean and Run commands in the toolbar
- Added an animated icon to a project item when a build is in progress.
- Added ability to set a custom font for the editor.
- Select an item in the project browser when the current editor changes.
- Changed key combo to switch tabs (it's CTRL+LEFT/RIGHT now).
- Automatically put a new item in rename mode in the project browser.
Language Server Protocol support
- Added support for Python LSP server.
- Improved support for OmniSharp with multiple Code Actions.
Fixes and improvements
- Fixed flickering in find prev/next.
- Fixed bug in invoking find next or find in files.
- Fixed opening files location in Terminal.
- Fixed sometimes missing diagnostic tooltip (Máximo Castañeda).
- Fixed source control menu not working on Haiku x86.
- Fixed brace matching option not working.
- Fixed glitch while renaming the last item in the project browser.
- Fixed closing settings window with uncommitted configuration.
- Fixed occasional hang with calltip / autocomplete.
- Improved handling of node monitoring in some corner cases.
- When closing a project, only ask to save project files (Máximo Castañeda).
- Fixed clang build and documentation.
- Updated Scintilla to version 5.4.3.
- Various refactoring and cleanups.
- Improved documentation (Humdinger).
Localization
This release has been localized in all the following languages:
- Catalan
- English (Australian)
- English (British)
- French
- Friulian
- German
- Italian
- Norwegian
- Spanish
- Spanish (Latin American)
- Turkish
We also added comments for translators by using B_TRANSLATE_COMMENT (Humdinger).
Full Changelog: v2.1...v3.0
Genio v2.1
This is mostly a bugfix release, but we also have some interesting new features
What's Changed
- Added user documentation (courtesy of Humdinger).
- UI: Improved the tab close button position and size.
- UI: Improved the project settings window (Humdinger).
- Fixed performances regression, especially while cleaning a build.
- Fixed Yab files syntax-highlighting.
- Fixed sporadic crash while closing a tab when Genio was unresponsive.
- Fixed crash if clicking on the project list when empty.
- Fixed various crashes triggered by deleting projects externally.
- Fixed opening files from tracker with "open with" when Genio is closed.
- Fixed emptying Source Control view when unloading the last project.
- Fixed bug which very rarely killed Genio when stopping or re-starting the build.
- Fixed glitch in Source control panel menu when there were two projects with the same name.
- Fixed missing settings window title translation (Humdinger).
- When using "Show in Tracker", also select the item in Tracker (Humdinger).
- Removed in-tree Lexilla and used the one from HaikuPorts.
- Removed (unnecessary) notifications for some Git operations.
We also included the following new translations:
- English (Australian)
- English (British)
- French
- Friulian
- Norwegian
- Spanish (Latin American)
Many thanks to everyone involved! A very special thank goes to @humdinger who contributed with code, documentation and bug reports!
Full Changelog: v2...v2.1
Genio v2
Last time we left with 508 commits for the very first release, now we have more than 1.200 commits and countless new features and bugfixes. This is our best release ever and a Christmas gift for those who have supported us using Genio and providing feedback, bugfixes, and PRs (special thanks to @humdinger).
Git
Genio now has a shiny new Source control panel (still a work in progress and not feature complete) where you can:
- Change project and branch
- See the list of local and remote branches and tags
- Rename and delete a local branch
- Create a branch from any other branch or tag
- Copy the name of the branch/tag
- Fetch
- Fetch prune
- Stash your changes and give it a name
- Pop or apply changes (only from the topmost stash at the moment)
- Initialize a non-git project and create an empty initial commit
- In the Project Browser, the current local branch can be changed via a convenient item in the context menu as well as in the Git menu.
- The name of the current branch will also appear on the right of the project name.
- The Git menu is still there but it will soon disappear as we bring more features to the Source control panel.
- All git operations are monitored live so Genio will update even if you create a branch from Terminal (who really wants to use it from now on? 😀).
- Now you can also open a project from a remote repository (on Github, for example) and let Genio clone and add it to the workspace.
- Bear in mind that Genio does not currently support SSH keys.
Editor
We added a bunch of new features to the editor:
- Support for syntax highlighting for languages like Python, Lua, YAB, and many more!
- Editor styling functionalities. It is now possible to change the theme of the editor by choosing from a selection of built-in themes.
- “Quick fix” for problems reported by clangd. This will not only suggest a possible solution but also apply it! You can add a missing include file in a breeze, for example! Amazing, right?
- Trim trailing whitespace, also automatically on save.
- Convert tabs to spaces.
- Alert on quit when closing multiple files.
- Hide the find/replace panel when no file is loaded.
- Switching to source/header does not rely on LSP anymore.
Project Browser
- “Open recent” / “Open recent project”.
- Autobuild on save.
- Autosave on build.
- Support for autocollapse/expand projects.
- Notify the user when trying to build/clean when the project configuration is missing.
- When closing the active project, set another one as active.
- There is an early-stage feature to detect a makefile in the root folder of a project and configure some basic settings (Release build&debug commands)
Find
- Find in files results are now shown in a table, sorted and grouped by file
- You can now exclude specific files from the search (wildcards are accepted)
UI
- New amazing icons by ZuMi.
- Reorganized and improved menus.
- New Search Results panel.
- New Problems panel
- Improved layout.
- Improved overall compatibility with the dark theme
- Full Screen and Focus modes
Localization
This release has been localized in all the following languages:
- Catalan
- German
- Italian
- Sardinian
- Spanish
- Turkish
More localizations are on the way, and will be included in one of the next point release once completed.
Huge thanks to everyone involved in this effort!
Fixes and improvements
- Fixed a problem when passing arguments to the Debugger
- Fixed a problem where the output of a program executed as ‘Run in Terminal’ could not appear in ConsoleIO
- We have completely redesigned the setting subsystem including the UI. Every change is now propagated throughout the application in real-time.
- Improved LSP thread management and updated the stack to the latest main branch.
- Improved first launch experience.
- Fixed UI scaling with bigger fonts.
- Fixed the wrong list color in the project browser.
- Fixed rename function with FFM.
- Fixed bug in file type detection.
- Fixed crash when using COPY/CUT/PASTE in the projects tree.
- Fixed trying to reopen a nonexisting project on start.
- Fixed cursor position when switching between tabs.
- Fixed replace panel not always appearing.
- Fixed replace and find previous.
- Fixed LSP lock on close.
- Fixes for ConsoleIO.
- Fixed build dependencies.
New Contributors
- @humdingerb made their first contribution in #77
Full Changelog: v1...v2
Genio v1 beta
This is the first official (beta) release of Genio
LSP
- Autocompletion
- Signature help
- Go to definition/implementation/declaration
- Code formatter
Project Browser
- Live sync with the file system
- Rename and delete files and folders in place
- Show element in Tracker
- Open Terminal pointing to the selected directory
Genio now supports project and file templates!
- With the File->New menu, the developer can create: an empty new folder, a new file from a list of templates (c++ header, source, text file, and Makefile) , a new project and automatically open it.
- Genio supports built-it templates that are shipped with the IDE and user defined templates, as well
Editor
- Duplicate current line
- Delete lines
- Comment/uncomment lines
- Switch between source and header
- Setting Zoom In/Zoom Out level for all tabs is saved in general preferences
- Tabs can be moved and rearranged by dragging and releasing them onto the new position
Other
- Find in files
- Links to file and build errors in Build Log and Console I/O
- "Problems" tab, powered by clang
Configuring Clangd / LSP
https://github.com/Genio-The-Haiku-IDE/Genio/blob/main/Configuring-clangd-lsp.md