- BUGFIX: Fix background service
- BUGFIX: Fix File System
- ENHANCEMENT: Better handling of file typechecking after FCS 40 update
- BUGFIX: Fix regression in cross-project support after FCS 40 update in proj-info
- BUGFIX: Fix stuck code lenses (thanks @beauvankirk!)
- FEATURE: Support .Net 6 and F# 6
- BUGFIX: Bump Fantomas.Client to 0.3.1 (thanks @nojaf!)
- BUGFIX: update handling of langword and crefs in see xmldoc nodes
- BUGFIX: handle href elements on a, see, and xref xml doc comments
- FEATURE: Use user's managed Fantomas dotnet tool instead of embedding directly into FSAC (thanks @nojaf!)
- BUGFIX: Fix dotnet template rendering on non-english locales (thanks @jmiven)
- ENHANCEMENT: Don't provide completions or tooltips for string literals of all kinds
- This allows for other extensions to provide completions/hover tooltips for these strings when configured to do so
- BUGFIX: Fix loading of dotnet new templates (thanks @Happypig375)
- BUGFIX: Fix datatype for workspace/applyEdit request
- ENHANCEMENT: Update Fantomas to 4.5.0 stable (thanks @nojaf)
- ENHANCEMENT: Enable running on .net 6 via rollForward
- NOTE: if you have both 5.0 and 6.0 SDKs installed, you must launch fsautocomplete by passing the
--fx-version
argument to the dotnet CLI. See the cli docs for more details.
- NOTE: if you have both 5.0 and 6.0 SDKs installed, you must launch fsautocomplete by passing the
- ENHANCEMENT: Make the Unused Value analyzer suggest single-underscore discards (thanks @pblasucci)
- ENHANCEMENT: Add new 'Add explicit type annotation' codefix
- This works for parameters, but not function-typed parameters
- BUGFIX: Align with LSP protocol around command fields
- Fixes an issue in Ionide-vim (thanks @cannorin)
- ENHANCEMENT: Reenable FSharpLint linting
- ENHANCEMENT: Update Fantomas dependency to latest prerelease
- BUGFIX: fix the dotnet tool packaging to include a missing dependency for code formatting
- BUGFIX: fix indentation and insert position for unopened namespaces (Thanks @Booksbaum)
- ENHANCEMENT: Render parameters that are functions with parens for readability
- Publish the dotnet tool fsautocomplete to nuget. It can be installed with
dotnet tool install fsautocomplete
.
- Improve memory usage by reducing string array allocations
- Fix fsharp/signature off-by-ones (Thanks @mhoogendoorn)
- Fix analyzer usage
- Add new codefixes
- Add missing self-identifier to instance member
- Refactor
typeof<'t>.Name
tonameof('t)
- Fix returned tokens in
textDocument/semanticTokens/full
andtextDocument/semanticTokens/range
to no longer return zero-length tokens.
- Improve edgecase detection when
- finding declarations
- finding type definitions
- getting symbol usages
- checking for inclusion in a file
- Improve overload detection in
textDocument/signatureHelp
for methods
- Fix regression in
textDocument/completion
introduced in 0.45.0
- Update Unused Binding CodeFix to handle more cases
- Enable faster typechecking when signature files are present for a module
- Happens transparently, but is mutually exclusive with analyzers.
- Refactors around tooltip signature generation
- Fix the display of units of measure in tooltips (
float<m/s>
instead offloat<MeasureInverse<MeasureProduct<.....>>>
) - Much better experience for signature help for function applications and method calls
- Update the Generate Abstract Class CodeFix to work for abstract classes that aren't defined in F#
- Update to Ionide.ProjInfo 0.51 to prevent workspace init deadlocks
- Fantomas updated to 4.4 stable
- FCS 39 update
- More codefixes!
- Fixed serialization of the FormattingOptions type to prevent server crashes
- Performance enhancements for the BackgroundService
- Many large changes, .Net 5 is required now
- Support for LSP semantic highlighting
- Fantomas upgrade to 4.4.0-beta-003
- FCS 38.0.2 upgrade
- Use Ionide.ProjInfo for the project system instead of the oen built into this repo
- Use local hosted msbuild to crack projects instead of managing builds ourselves
- Fix
PublishDiagnosticsCapabilities
type #574 by @Gastove - Set defaultDotNetSDKRoot on Linux correctly #576 by @Krzysztof-Cieslak
- Rework documentation parser #446 by @MangelMaxime
- Update FAKE integration #566 by @baronfel
- Update FSharp.Analyzers.SDK to 0.4 #568 by @baronfel
- Move Fantomas formatting to Core project #553 by @Krzysztof-Cieslak
- Fix return type in signatures in documentation formatter #554 by @Krzysztof-Cieslak
- Work around build infrastructure by @Krzysztof-Cieslak
- Allows analyzer paths to be absolute #555 by @Zaid-Ajaj
- Update FSI references version-finding algorithm to probe packs dir as well as runtimes dir #556 by @baronfel
- Update FSharp.Analyzers.SDK to 0.3.0 and make them available only in .Net Core build #557 by @Krzysztof-Cieslak
- upgrade to
FSharp.Compiler.Service
v28.0.0 - upgrade to
FSharpLint.Core
v0.10.8 - include symbolcache
runtimeconfig.json
anddeps.json
to .net core binaries - add
default.win32manifest
to .net core binaries - fix to allow run with only .NET Core Runtime 3 installed (previously v2.x was required) #364
- add go-to-implementation command (
symbolimplementation
)
- upgrade to
FSharp.Compiler.Service
v27.0.1 - upgrade to
FSharpLint.Core
v0.10.7
- upgrade to
FSharp.Compiler.Service
v26.0.1 (#338) - upgrade to
FSharpLint.Core
v0.10.5
- new project parser for old fsproj/fsx based on
Dotnet.ProjInfo
, enabled by default in .NET Core FSAC - add unused declarations diagnostic
- add simplified names analyzer
- add unused opens analyzer
- styling for XmlDocs and tooltips
- add find type declaration command
- adds autocomplete for external (from unopened namespaces and modules) symbols, provides information where and what
open
statements should be inserted - add workspaceLoad async command
- add notifications (project loading, etc). In http mode, using websocket
- add generic parameters to tooltips
- include keywords in autocomplete only when needed
- don't autocomplete for comments, strings etc
- add project cache
- watch file changes, to trigger project reloading
- implement record stub generator (#297)
- add background and persistent symbol cache out of process
- use dnspy libs to navigate to decompiled files for external libs (#299)
- fsac .NET runs as 64 bit exe
- add description for '=' symbol (#312)
- fix autocomplete for literal values (#316)
- support keywords in helptext command
- add interface stub generator (#327)
- support
FSharp.Analyzers.SDK
analyzer - upgrade to
FSharp.Compiler.Service
v25.0.1 - upgrade to
Dotnet.ProjInfo
v0.31.0 - upgrade to
FSharpLint.Core
v0.10.4
- support mixed dotnet langs projects (#173)
- add detailed errors info (#175)
- add hostPID command line arg (#190)
- add workspace peek command (#191)
- fix ci, .net core 2.0 RTM, normalize fsprojs (#197)
- fix linter crash (#206)
- single console app (#212)
- add sdk 2.0 support (#166)
- .NET Core project support
- Allow for inconsistent casing of "Fsharp" when detecting: #149.
- Improvements from downstream ionide fork:
- support msbuild15, same as preview2
- Add Background checking
- Performance updates for find usages
- Implement GetNamespaceSuggestions
- Update FSharpLint version
- Optimize GetNamespaceSuggestions
- Optimize GetDeclarations
- Add endpoint for F1 Help
- ... and more!
(Some of these features only exposed currently via HTTP interface)
- Add parse errors, tooltips for keywords, and signatures for constructors: #135.
- Invalid release, ignore.
- Add EnclosingEntity and IsAbstract to Declaration contract: #129.
- Merge Ionide changes (#123):
- Glyphs
- Update dependencies
- Lint settings
- Keyword completion
- Add command for all declarations in known projects: #117.
- cache ProjectResponse, invalidate it if project file's last write time changed: #116.
- Add command to parse all known projects: #115.
- Merge Ionide changes (#110):
- Naive support for project.json (this probably will be dropped in futture but let's have it now)
- Better (file) paths normalization across different features
- Resolve scripts to latest .Net on Windows
- Make completion faster on Suave
- Depend on F# 4 (FSharp.Core deployed with application) instead of 4.3.1
- Fix Symboluseproject: #104.
- Backwards-incompatible: Make completions faster by not requiring a parse on each request: #99
- Add
SymbolUseProject
command: #101. - Add typesig command, that doesn't get Comment data: #73
- Add extraction of xmldoc from other assemblies (from .xml files).
- Normalize paths to source files from projects: #94.
- Set MinThreads to avoid deadlocks on Mono < 4.2.2: #92.
- Upgrade to FCS 2.0.0.4 to fix project cracking with spaces in paths: #91.
- Upgrade to FCS 2.0.0.3 to fix VS2015 project cracking: #89.
- Upgrade to FCS 2.0.0.0-beta and add project cracking verbosity option: #86.
- Add FSharpLint support: #83.
- Switch to depend on FSharp.Core 4.3.1.0: #81.
- Don't output a BOM to standard out: #82
- Fix for uncompiled referenced projects: #78.
- Backwards-incompatible: Framework no longer returned in
project
response.
- Add App.config to FsAutoComplete.Suave release: #76.
- Also for fsautocomplete.exe.
- Add Suave hosting for FSAC: #74.
- Backwards-incompatible: return GlyphName rather than code in Declarations message: #75.
- Fix StackOverflowException and encoding issue: #70.
- Backwards-incompatible: do not format help text, leave that to the client, which allows the display to be more semantic. #63 (due to @Krzysztof-Cieslak)
- Fix MSBuild v14 support on non-English systems by avoiding attempting to load *.resources.dll (patch from @ryun).
- Add a new
colorizations <true|false>
command to enable/disable asynchronous provision of colorization information following a parse: #60 (Fixes #44). - Newest FSharp.Core is used for type-checking scripts and for projects that do not reference FSharp.Core. Supports F# 3.0, 3.1 and 4.0: #59.
- If MSBuild v12 is not available, instead try load MSBuild v14. This, together with the previous point, adds support for VS2015-only Windows installs: #57. Fixes: #12 #21 #23 #25 #54.
- Backwards-incompatible:
compilerlocation
command has changed. Now provides path to best version of msbuild, fsc and fsi on Windows: #23.
- Backwards-incompatible: Symbol use command now includes FileName rather than Filename
- Reduce timeout message from 'error' to 'info'
- Update to FCS 1.4.X (support for F# 4.0): #52
- Automatically reparse F# project files if they are changed on disk: #47
- Fix exception in
symboluse
command: #46.
Backwards-incompatible changes:
- Update helptext command to return { Name = ""; Text = "" }. Fixes #35.
project
command response now has 'null' for OutputFile and TargetFramework if a value cannot be determined.
Other changes:
- FSharp.CompilerBinding removed, and used parts absorbed. Fixes #17.
- ScriptCheckerOptions fetched with no timeout, and also stores them. Fixes #18, #28.
- If a .fs file is not in a loaded project, produce an incomplete typecheck environment for it to give basic results.
- Update parsing of project options to include ProjectReferences. Fixes #39.
- Separate parsing of commands, main command loop, and formatting of response message into separate modules.
- Add symboluse command - ionide#34 Breaking change: all columns returned are now 1-based. Format of error locations has also changed to be more consistent with other formats.
- Add param completion command - ionide#30
- Update to FCS 0.0.90 (fix referencing PCL projects) - ionide#26
- Prevent test assemblies from being included in release archives by avoiding forcing the output directory.
- Adjust for 1-based column indexing - ionide#13 Note that this was previously the intended behaviour, but column indexes were treated as 0-based. Ensure that both line and column indexes sent in commands are 1-based.
- Completion filtering - ionide#10
- Implement multiple unsaved file checking - ionide#8
- Add Glyphs to completion responses - ionide#1