All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add CompileItem metadata to types (thanks @Smaug123)
- Add clearer message on some failure cases (thanks @Smaug123)
- Updated F# Packages
- FSharp.Compiler.Service to 43.8.300
- FSharp.Core to 8.0.300
- Support for loading projects that are missing or have invalid Imports
- Traversal projects can now be loaded successfully
- Updated to FSharp.Compiler.Service version 7.0.400
- Updated version constraint for FSharp.Compiler.Service so that it doesn't have an upper bound
- Add missing targets - BeforeBuild and BeforeCompile (Thanks @safesparrow!)
- Handle traversing inaccessible directories during probing (thanks @christiansheridan)
- Expose existing properties on cracked projects (thanks @TheAngryByrd!)
- Fix project file loading for Graph Build (Thanks @TheAngryByrd!)
- Logging for solution parsing failures (Thanks @TheAngryByrd!)
- Support running on 6.0.400 by always performing Clean builds (Thanks @TheAngryByrd!)
- Graph builder works for more types of projects (Thanks @TheAngryByrd!)
- .NET 7 previews support
- Add a method to efficiently map many ProjectOptions into FSharpProjectOptions and test it (thanks @safesparrow!)
- Support JSON output for the proj-info tool
- Support C#/VB project dll references in FCS APIs (Thanks @nojaf!)
- Support for projects that use references from .NET Workloads
- Potential NullRef in the project system (Thanks @knocte!)
- Perf improvement on translating project data for Graph Workspaces (Thanks @nojaf!)
- Make
LegacyFrameworkDiscovery.msbuildBinary
lazy
- Invalid project cache files from previous versions of this library can be detected and removed.
- Support for loading legacy project files
- Saving/loading of project file caches. Perf (especially initial load) should improve massively.
- Packages that depend on project-to-project references for packaging now correctly determine package versions.
- Packages that depend on project-to-project references for packaging now correctly determine package versions.
- ProjectController.LoadProject now returns an Async bool to indicate eventual completion
- Fix heisen test #136
- Multiple agents being created by ProjectSystem
- Fix the project references in FCS layer
- Revert no longer set DOTNET_HOST_PATH, instead preferring some F#-specific build parameters
- no longer set DOTNET_HOST_PATH, instead preferring some F#-specific build parameters. This should be safer for more categories of applications.
- Updated to FCS 41
- fetch dotnet runtimes more safely (thanks @Booksbaum!)
- Misc. fixes for cracking found from FSAC, support normalized drive letters and resource paths
- Added more environment variable lookups for the
dotnet
binary, so modes like running underdotnet test
should work more consistently.
- The save path for binary logs can now be set
- Reverted to FCS 39 for compatibilties' sake
- Removed dependency on MsBuild.Locator
- Massively improved compatibility for cracking projects on a broader range of SDK versions
- Fixed a regression in the MSBuild Graph Workspace Loader that resulted in it not working on SDKs greater than 5.0.10x
- centralized the setting of process-level MSBuild and dotnet SDK environment variables into the
init
function, extracting them out of the individual workspace loaders. this should ensure a consistent experience regardless of loader chosen.
- Fixed nuget package spec to not embed sourcelink dependency
- Updated to FCS 40, includes breaking changes around Project Options having extra data.
- Change the order of calls so that FSAC doesn't have a deadlock with its current usage of this library
- Introduce a pluggable abstraction for creating workspaces to allow for independent experimentation
- Introduce a workspace implementation for MsBuild Graph Build mode, which should be a large performance boost for consumers
- introduce debouncing to prevent rebuilds when invoked multiple times in a short timeframe
- Added debouncing of project-cracking to prevent rework
- Changed the target of the build from "CoreCompile" to "Build" to bring in SDK props
- Updated to FCS 39.0.0
- Added (again) support for generating
.binlog
files
- Fixed a bug with handling
--embeded
arguments as source files
- Fixed a bug with loading same project multiple times at the same time.
- Fix a bug where C# projects were passed as project references when creating
FSharpProjectOptions
- Rename from
Dotnet.ProjInfo
toIonide.ProjInfo
- Rewrite using MsBuild API
- Add
Ionide.ProjInfo.Sln
(ported fromenricosada/Sln
) - Add
Ionide.ProjInfo.ProjectSystem
(ported fromfsharp/FsAutocomplete
) - Add
Ionide.ProjInfo.FCS
- Remove support for old/verbose project files
- Remove CLI tool
- Remove
Ionide.ProjInfo.Workspace
- functionality now in newIonide.ProjInfo
- Remove
Ionide.ProjInfo.Workspaces.FCS
- functionality now in newIonide.ProjInfo.FCS
- Last version using manual MsBuild invoke and custom targets