IDE 2026 Release Notes ====================== We present here a few highlights of the new features in IDE products for the 2026 release. .. contents:: :local: IDE New Release Schema ---------------------- GNAT Studio and the Ada & SPARK VS Code extension now follow a release schedule based on continuous delivery, with a schedule of one release every quarter. This means that new features, improvements and bug fixes will be delivered more frequently, with smaller and more incremental changes. In terms of versioning, the major version number will be incremented every year, while the minor version number will be incremented every quarter (e.g: 2026.0, 2026.1, 2026.2, 2026.3). SPARK in VS Code ---------------- The Ada & SPARK VS Code extension now provides several commands to run GNATprove with various options directly from the `Command Palette`. These commands open an interactive picker to choose options before calling GNATprove. It is also possible to call the options picker directly with the command `SPARK: Select GNATprove options...`. .. image:: ../../ide/sources/images/gnatprove-option-picker.png :width: 400pt If you prefer to invoke GNATprove without choosing options interactively, the `Tasks: Run Task` command offer non-interactive task counterparts of the above commands. If you have SPARK Pro 26.0 or newer, a SARIF report is generated and opened automatically in VS Code after execution. .. image:: ../../ide/sources/images/gnatprove-sarif.png :width: 400pt LSP Code Visualizer ------------------- The Ada & SPARK VS Code extension now integrates a `Code Visualizer `_ based on LSP requests displaying code information as interactive graphs (e.g: `Types: Show Type Hierarchy Graph` command), for any language with LSP support in VS Code (e.g. Ada, Python, TypeScript). .. image:: ../../ide/sources/images/code_visualizer.gif :width: 400pt The extension provides four interactive graphs: **For all languages:** * `Calls: Show Call Hierarchy Graph` - Shows function call relationships * `Types: Show Type Hierarchy Graph` - Shows type relationships **For Ada/GPR files:** * `Ada: Show File Dependencies Graph` - Shows file dependencies * `Ada: Show GPR Dependencies Graph` - Shows project relationships All the interactive graphs support zooming, folding, searching and exporting to PNG or SVG. GNATformat Integration in GNAT Studio ------------------------------------- `GNATformat `_, the new Ada code formatter, is now integrated into GNAT Studio via the LSP and the Ada Language Server. By default, GNAT Studio uses its legacy formatter, but you can switch to LSP-based formatting with GNATformat from the `Editor/Ada` preferences page (see the `Formatting` section). Additional formatting options are also available on this page. .. image:: ../../ide/sources/images/formatting_preferences.png :width: 400pt Starting with GNAT Studio 2026.1, the LSP formatting provider using GNATformat will be enabled by default. GNATcoverage in VS Code ----------------------- The Ada & SPARK VS Code extension now provides integration with `GNATcoverage `_, including importing coverage reports and running GNATtest tests in coverage mode. .. image:: ../../ide/sources/images/gnatcov-report.png :width: 400pt For more information about the integration, please refer to the `GNATcoverage section of the Ada & SPARK VS Code extension User's Guide `_. VS Code Cross & Embedded Support --------------------------------- If you have loaded an embedded project, the Ada & SPARK VS Code extension will automatically provide predefined tasks, commands and code lenses to run and debug your application through `GNATemulator `_, if available for your target. .. image:: ../../ide/sources/images/gnatemu-debug-codelens.gif :width: 400pt For more information about the integration, please refer to the `Cross & Embedded Support section of the Ada & SPARK VS Code extension User's Guide `_. Refactorings ------------ Several new refactorings have been added to the **Ada Language Server**, and thus are available in both GNAT Studio and the Ada & SPARK VS Code extension. The *Extract variable* refactoring allows extraction of an expression into a new variable, replacing all occurrences of the expression in the selected scope. .. image:: ../../ide/sources/images/extract_variable.gif :width: 400pt The *Delete entity* refactoring has also been added, allowing you to delete an entity and all its references in the project. .. image:: ../../ide/sources/images/delete_entity.gif :width: 400pt The *Swap if/else branches* refactoring allows you to swap the branches of an if statement. .. image:: ../../ide/sources/images/swap_if_else.gif :width: 400pt The *Sort cases* refactoring sorts the branches of a case statement, either alphabetically or according to the order of enumeration literals. .. image:: ../../ide/sources/images/sort_case_alphabetical.gif :width: 400pt GNATdoc ------- `GNATdoc `_, the Ada documentation generator, now supports RST and ODF (Open Document Format) output. It also supports embedding images in code documentation through extended Markdown syntax, and a project attribute providing the directory that contains the images, like in the following example: .. code-block:: ada package Documentation is for Image_Dirs ("html") use ("images"); end Documentation; A new `@belongs-to` tag has also been added to override the type associated to a documented entity. Various issues identified in the previous release have also been addressed. GtkAda ------ `Glade `_ is no longer maintained by the GNOME community, as per the release notes for the last stable release, 3.40.0. Using Glade to produce XML GtkBuilder UI definitions is now discouraged. GtkAda 26.x will be the last release to include Glade. However, the XML GtkBuilder UI definitions format itself is still a supported artifact of the `Gtk.Builder `_ API, and a valid way of interfacing with the `Gtkada.Builder` package. Miscellaneous UI/UX improvements -------------------------------- VS Code status bar now displays an item showing the project-loading status and useful commands provided by the Ada & SAPRK extension when hovering over it. .. image:: ../../ide/sources/images/status_bar.gif :width: 400pt Commands creating new main units, packages and GPR project files have been added, all available under the VS Code :menuselection:`File --> New File...` menu. A new `Ada: Open User's Guide` command has also been added to open the Ada & SPARK VS Code extension User's Guide directly from the `Command Palette`. Pressing `Enter` in VS Code while editing a comment in Ada and GPR files will automatically split the comment across multiple lines. .. image:: ../../ide/sources/images/split_comment.gif :width: 400pt You can now open log files directly in GNAT Studio respectively via the :menuselection:`Help --> Open GNAT Studio Log File` and :menuselection:`Help --> Open Ada Language Server Log File` menus. `Go to Definition` now jumps respectively on the `begin`, `private` and `body` keywords for subprograms, packages and tasks when clicking on the `is` keyword following their declarations. .. image:: ../../ide/sources/images/goto_definition_is.gif :width: 400pt The display for local variables in GNAT Studio debugging sessions has been improved, showing more information about the variable type and value. .. image:: ../../ide/sources/images/local_variables.png :width: 400pt Extended projects and files that do not belong to the loaded project are now better supported regarding navigation features such as `Go to Definition`, `Go to Declaration` and `Find all References`.