Skip to content

Latest commit

 

History

History
567 lines (438 loc) · 20.3 KB

CHANGELOG.md

File metadata and controls

567 lines (438 loc) · 20.3 KB

Release notes

<next>

26.0.202411173

  • Create commands for opening the project file and the log file
  • Add editor contextual menus for some Ada commands
  • Avoid 'auto-import' command when completing with-clauses
  • Replace "Project Problem" diagnostic by the project status message
  • Avoid running the Prove codelens with no problem matchers
  • Fix Goto Definition for entry in Protected Types
  • Avoid PRECONDITION_FAILURE on editing an empty file
  • Avoid occurrences of STALE_REFERENCE_ERROR in Libadalang
  • Restore the usage of initializationOptions from the initialize request to receive initial settings

25.0.20241014

  • Fix the removal of old log files in the ~/.als directory
  • Fix the Ada: Go to other file command for child packages
  • Fix various project loading issues after significant changes in the GPR2 project loading API
    • Make sure all project issues are emitted as diagnostics
    • Avoid lingering diagnostics from earlier failed loading attempts
    • Treat a subclass of non-critical project issues as non-blocking for the ALS
    • Add a setting ada.projectDiagnostics to control whether the ALS should emit project diagnostics
  • Fix the ada: Run main task when the main executable is at the workspace root

25.0.20240915

  • Implement type hierarchy requests
  • Migrate the build infrastructure to ALIRE
  • Migrate the VSIX publication infrastructure out of GitHub Actions
  • Revamp the VS Code extension walkthrough
  • Filter invisible completion items by unit prefix
  • Provide SPARK CodeLenses on subprograms when gnatprove is on PATH
  • Improve completion for GPR project files

24.0.6 (2024-06-25)

  • Add Alire support for GPR language
  • Take into account selection for 'sort dependencies' refactoring
  • Add basic support for ALIRE in VS Code tasks
  • Add tasks for GNAT SAS, GNATdoc and GNATtest
  • Auto-import action for invisible completion items
  • Improve hover feature for GPR files
  • Run alr show and alr printenv in a sequence
  • Other bug fixes
  • Load GNATtest tests in the Testing view.
  • Run individual tests or subsets of tests from the Testing view.

24.0.5 (2024-04-13)

  • Display GPR errors and warnings in diagnostics
  • Rework the GNATtest integration in VS Code
  • Fix request traces in log files
  • More requests for GPR language
    • definition
    • declaration
    • completion
  • Fix tasks based on current location

24.0.4 (2024-02-17)

  • Improve auto import suggestion
  • Add all the missing workspace directories at once
  • Add a 'Do not show again' button in missing dirs' popup
  • Create a launch configuration for each main for attaching to a running process
  • Make debug configurations have preLaunchTask fields pointing to build tasks
  • Package a sourcemap file for the Ada extension
  • Use case-sensitive search when renaming comments
  • Handle null environment variable in vscode settings
  • Implement a CodeLens provider of run and debug actions

24.0.3 (2023-12-07)

  • Mac OS Apple M1 experimental support
  • Tooltips for aspects, pragmas and attributes
  • GPR LS: with clauses, Case/When statements in Symbols
  • GPR LS: completion request for package & attributes
  • Fix extension publishing on Marketplace

24.0.2 (2023-11-29)

  • Experimental support on aarch64-linux platform
  • Fix prepareCallHierarchy request
  • Fix completion at the top of files
  • Hover request in GPR files
  • Depricate 'gnat' and 'gpr' tasks with 'ada' and 'spark'
  • Create a parent node for with-clauses in documentSymbols request
  • Organize settings into meaningful groups
  • Show a popup to reload the window on environment changes

24.0.1 (2023-10-20)

This is the first release using the LSP 3.17 protocol. We utilized the JSON metamodel to generate message types and interfaces for working with them. Due to significant changes in many types, a large portion of the code was rewritten. Although all our tests pass, it is possible that some errors have not yet been discovered. Nevertheless, the new protocol will enable us to implement even more new features for Ada in the future.

  • Create a VS Code task to compile the current file
  • Create a gdb debugging launch configuration
  • Publish all diagnostics when refactorings fail

23.0.21 (2023-07-19)

  • Fix VS Code extension on Windows
  • Fix 'Add subprogram box' command

23.0.20 (2023-07-12)

  • Add onTypeFormatting request initial implementation. To try edit settings.json with:
   "[ada]": {
      "editor.formatOnType": true,
   },
   "ada.onTypeFormatting.indentOnly": false,
  • Fixes and improvements in syntax highlighting
    • Do not apply semantic tokens to unresolved identifiers
    • Highlight 'True' and 'False' like 'null'
  • Fixes and improvements in hovers
  • Basic .gpr language support: document symbols and diagnostics
  • Support more architectures and platforms in VS Code
    • Change executable location to <arch>/<platform>/
    • Add arm64 as a supported architecture
    • Add initialization code that checks specific combinations of architectures and platforms (e.g. arm64-darwin is supported even though it actually uses the x64-darwin executable, will use x86_64 target by default however)
    • But no native ALS for arm64 is provided for now
  • Accept task bodies and packages for subprogram box command
  • publish diagnostics when a refactoring fails.

image

23.0.19 (2023-06-15)

  • Fix highlights for obsolescent entities
  • Fix formatting for simple aggregate
  • Fix the build script to avoid unusable binaries on macOS
  • Fix --version reporting

23.0.18 (2023-05-26)

  • Better diagnostic on errors on the project loading
  • Pack debug info into separate .debug files in GitHub Release assets
  • Improvements of the SPARK support
  • Clarify the message in hovers when in aggregate projects
  • Add GPR tasks to build and run main subprograms

23.0.17 (2023-05-09)

  • Increasing performance of Goto_Declaration
  • Use GNATdoc for all constructs.
  • Improve error messages for project loading
  • Substitute any variable reference when setting process.env
  • Improve aspect completion
  • Improve speed by simplify Is_Ada_File

23.0.16 (2023-04-05)

  • Add support for setTrace notification
  • Fix the issue with Excluded_Source_Dirs #1131
  • Fix the issue formatting isse #1133
  • Fix the issue with typeless renaming #1138

23.0.15 (2023-03-22)

  • Fix --config=file.json command option
  • Don't call alr if environment has been already set
  • Allow extra args in task configurations
  • Use diagnostics to report renaming collisions
  • Use alr exec -- <cmd> in tasks if there is alire.toml file in the workspace
  • Allow Windows-1252 charset for .gpr files as fallback
  • Work with no GNAT in the PATH in Alire crates

23.0.14 (2023-02-20)

  • Initial implementaiton of Alire support.
  • Use libgpr2 to handle project files
  • Replace Type tool initial implementation
  • Sort Dependencies tool initial implementation
  • New --config option to specify a server configuration #1108
  • use ms-vscode.cpptools for debugging (maybe not released yet)

Replace type

Sort dependencies

23.0.13 (2023-01-25)

23.0.12 (2022-12-28)

  • Activate snippet formatting in completion
  • Dedicated command to reload the project
  • Improvements in gnatpp/formatting
  • Drop VS Code extension with degug information included

23.0.11 (2022-11-08)

  • Fix CONSTRAINT_ERROR if client doesn't support all semantic tokens
  • Highlight gnatdoc tags
  • Completion handling of unnamed params in a call
  • Rename files according to naming scheme

23.0.10 (2022-09-19)

VS code: Use per workspace environment variables VS code: Add a walkthrough ALS: Fixes for import package refactoring ALS: Fixes for range formatting ALS: Run pretty printer on completion snippets ALS: Rename files according to project's naming scheme ALS: Improve completion snippets in case of keywords ALS: Add minimal doc for parameter completion

23.0.9 (2022-08-16)

  • Make VSCode commands Ada-specific
  • GNATpp partial formatting integration
  • Package "Native Debug" extension with Extension Pack
  • Add subprogram box command
  • Better completion for parameters
  • Avoid suggesting same code action multiple times
  • Display workspace popup only if workspace file
  • Introduce Parameter tool initial implementation
  • Add two spaces for Ada comments
  • Switch build scripts to GCC 12

23.0.8 (2022-07-20)

  • Make binary releases
  • Fix precedence of pretty printer options
  • Turn on documentRangeFormattingProvider
  • GNATpp partial formatting integration
  • Rewrite parameter completion
  • Use completion weight in sortText
  • Fix completion for predefined types
  • Add useCompletionSnippets flag
  • Limit number of logs in $ALS_HOME/.als
  • Improve highlighter robustness
  • Fix project handling for alire generated projects

23.0.7 (2022-06-07)

  • Refactoring documentation
  • Fix aggregate snippets
  • Futher hover migration gnatdoc engine
  • Implement semantic token range request
  • Fix formatting (pretty printer) for square brackets
  • Bundle JS files before packaginf .vsix file

23.0.6 (2022-05-02)

  • New refactoring: Change Parameter Type
  • New refactoring: Change Parameter Default Value
  • New refactoring: Pull Up Declaration
  • New refactoring: Extract Subprogram
  • Fix Call Hierarchy requests
  • First steps with introducing GNATdoc for hovers
  • New tasks for GNATprove integration
  • Fix for aggregate completion
  • Semantic tokens highlighter
  • Custom colors in VS Code

Screenshot

23.0.5 (2022-04-05)

  • Pull Up Declaration initial implementation
  • New tasks to Prove line/region with gnatprove
  • Some bug fixes for completion
out.mp4

23.0.4 (2022-03-08)

  • Initial implementation of Extract Subprogram Refactoring
  • Signature help improvements
  • Fixes in attribute and aspect completion
  • Display gnatpp messages if any

23.0.3 (2022-02-01)

  • Recompute predefined tasks when scenario vars change
  • Fix stale_reference_error exceptions once again
  • A new completion provider for "end names"
  • Add a VS Code task for gprclean
  • A stub for GPR language server

23.0.2 (2021-12-01)

  • Fix some completion issues
  • Implement cancel for FoldingRange request
  • Use macos-10.15/ubuntu-18.04 for building on GH
  • Do not raise errors for missing object dirs
  • A new Add_Parameter refactoring tool

23.0.1 (2021-10-25)

  • Avoid duplicates in completion
  • Implement partial response for Workspace_Symbols request
  • Better completion for parameters
  • A build task provider for gnatprove
  • Use GCC 11 by alire to build the extension
  • File renaming of top level decls
  • Special case in completion for end names
  • Сompletion for attributes
  • New "Add Parameter" refactoring tool

22.0.11 (2021-09-16)

  • Remove "Imprecise fallback" popup
  • Use line terminator of the document instead of hardcoded '\n'
  • Increase stack size to prevent craches on deep nesting calls in LAL
  • Index runtime files at startup for better completions
  • Compute some completion properties lazily
  • Filter the signatures using the previous designators
  • Fix optional capabilities parsing for some clients (e.g. emacs)
  • Add project loading diagnostics and code actions to help fixing
  • Don't insert 'invisible' in subprogram snippets

22.0.10 (2021-08-25)

  • Implement library unit renames!
  • Fix ALS executable name on Windows
  • Fix errors when there are TABs and some Unicode in sources
  • Fix issues with signature help requests

22.0.9 (2021-08-09)

  • Add a Tutorial
  • Switch build to GNAT CE 2021 for Linux and Windows
  • Improve support for files detached from a project
  • Fixes for invisible symbol completion
  • More entities in Workspace Symbols
  • Fix signatureHelp for null subps and exprfuncs
  • Set filterText for invisible symbols completion
  • Fix snippet indentation characters
  • Fix hightlight rules for body patterns

22.0.8 (2021-06-09)

  • Add a command to switch between spec and body files.
  • Add Suppress Separate refactoring tool
  • Update name of 'refactoring_rename' tool
  • Silence notification for imprecise navigation
  • Fix signatureHelp active parameter + Prefix notation
  • Fix errors on win32 with case-insensitive URIs
  • Fix refactoring import capatibility
  • Change implementation of callHierarchy requests

22.0.7 (2021-04-27)

  • The signatureHelp support
  • A fix for STALE_REFERENCE_ERROR
  • Improvements/fixes for callHierarchy
  • A fix for Change Subp Signatures refactorings

22.0.6 (2021-04-01)

  • Task provider for "build project"/"check file" tasks
  • Named Parameters refactoring for more constructs
  • Add basic support for preprocessor directives
  • Add declaration in textDocument/Highlight results
  • Fix symlink issue and a new followSymlinks setting

22.0.5 (2021-03-12)

  • Add 3 subprogram signature refactoring tools:
    • Remove Parameter
    • Change Parameter Mode
    • Move Parameter Left/Right
  • Suppress more LAL exception raised on invalid code.

22.0.4 (2021-02-13)

  • Use client side file monitoring if the client provides it.
  • Improve refactoring rename
  • Use iterators for completion results could prevent stack overflow on a large completion list

22.0.3 (2020-12-14)

  • Improved safety for entity renaming
  • Call hierarchy follows renaming declarations
  • Workspace symbols and completion don't display local symbols any more
  • Use static linking for the server

22.0.2 (2020-11-26)

  • Implementation of textDocument/highlight
  • filesystem monitoring (off by default)

22.0.1 (2020-10-12)

  • Implement textDocument/prepareRename request
  • New relocateBuildTree and rootDir configuration options
  • Changes in textDocument/declaration behavior
  • New a 'displayMethodAncestryOnNavigation' configuration option

21.0.17 (2020-09-22)

  • Add call hierarchy request from LSP 3.16
  • New Code Action to insert with-clause and a prefix to an unresolved symbol in the editor.
  • Show high level pragma in documentSymbols
  • Dedicated README.md for vscode extension
  • Change in the "Go to definition": List the overriding subprograms only if we are clicking on a 'usage' name
  • Add highlighting for gnatprep preprocessor directives

21.0.16 (2020-08-17)

  • Implementation of workspace/symbol request
  • Mark completion with '(invisible)' text if needed
  • Minor fixes in imprecise navigation and completion

21.0.15 (2020-08-07)

  • Restore advanced syntax highlighter.
  • Documentation for invisible symbol completions
  • Separate variables and constants in documentSymbol
  • Fix mode position in subprogram snippets

21.0.14 (2020-07-15)

  • Completion for invisible symbols with a lower priority
  • Completion for keywords, aspects, pragmas and attributes.
  • Find access references in dotted name expressions
  • Use Pretty_Printer switches from a project file for formatting

21.0.13 (2020-07-01)

  • Minor fixex for hover, completion, etc
  • Add foldComments setting
  • Completion for aggregate of derived types.
  • Faster JSON codecs
  • Use incremental text changes

21.0.12 (2020-05-26)

  • Implementation document formatting request
  • Handle aggregates for completion

21.0.11 (2020-05-15)

  • Revert for basic syntax highlighter for a while
  • Some tuning in DocumentSymbols request
  • Improvements in completion
  • Display project name for aggregate project in hovers

21.0.10 (2020-04-07)

  • Improve rename in comments
  • Minor fixes in folding
  • Syntax highlighter refactoring
  • Use case-insensitve check to filter completion
  • Add documentation for completion items
  • Enable work progress report for indexing
  • Fix behavior when encountering an invalid project
  • Add completion for subprogram parameters

21.0.9 (2020-03-13)

Last changes:

  • Move the extension to the new Marketplace account.

21.0.8 (2020-03-13)

We are going to move ALS extension to our new corporative Marketplace account.

Please, uninstall the extension and then launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.

ext install AdaCore.ada

Last changes:

  • Some syntax rules reorganization
  • Improve folding for some constructs and comments
  • Filter completion results with typed prefix
  • Fix named parameter refactoring issues

21.0.7 (2020-03-02)

  • Initial implementation of the folding request
  • Announce implementationProvider during initialization

21.0.6 (2020-02-13)

  • Advanced syntax highlighter for Ada by Patrick Kelly
  • Basic highlighting for *.ali files by Patrick Kelly also
  • More Ada snippets and new .gpr snippets

21.0.5 (2020-02-07)

  • Expirimental support of receiving incremental editor changes
  • Hover responses for is abstract/null subprogram
  • Implementation of "named parameters" refactoring
  • Fix identifier highlightштп in vscode extension
  • Consider runtime files as part of project files
  • load dirs on demand when the project is implicit
  • Fix Assetion_Error sor some hover request

21.0.4 (2020-01-23)

  • For textDocument/documentSymbol return a hierarchy of symbols if the client supports it.
  • Don't raise an exception on unknown method, return corresponing erro code instead.
  • Rename parameters in the whole hierarchy. When renaming a parameter of a tagged type primitive, we now also rename this parameter in all the base and overriding subprograms.
  • Don't send executeCommandProvider and documentLinkProvider, because the server doesn't implement such requests.
  • Remove performance bottleneck.
  • Add child and reference ALS reference kinds(an als extension).
  • Improve textDocument/typeDefinition to work with more declaration kinds (not just with object_declaration).
  • Improve project handling. In the case that no project is specified, use an implicit project which covers the subdirectories as well. This is slightly friendlier for VScode users who don't have a .gpr at the root of a hierarchy.

21.0.3 (2019-12-20)

  • The textDocument/declaration request is now implemented.
  • The 'textDocument/implementation' request is now implemented.
  • Find all references doesn't return 'end label' any more.
  • Hover includes aspect clauses for subprogram declaration.
  • The textDocument/definition request returns overrided and overriding declarations.
  • The textDocument/rename request renames the overrided and overriding subprograms.

21.0.2 (2019-11-14)

  • Add Problem Matcher
  • Rebase libadalang to 13a95e7af79c94c0ec830052fbf6aa06e90eefae
  • Add support for the $/progress notification from LSP v3.15
  • Add a fallback mechanism for definition
  • Allow "called_by" on an abstract definition
  • Don't return error responses when Property_Error is raised
  • Suppress noisy "loading"/"done loading" messages

21.0.1 (2019-10-16)

  • Suppress noisy "loading"/"done loading" messages.
  • Don't return error responses when Property_Error is raised in Libadalang.
  • Improve testsuite.