WebSharper 4.3
This is a major release for WebSharper 4. See the associated WebSharper UI release.
Templates for .NET Core SDK: dotnet new -i WebSharper.Templates::4.3.0.248
Templates for Visual Studio 2017: http://websharper.com/installers/WebSharper.4.3.0.248.vsix
Features
-
#941: Run the compiler on .NET Core.
Both the F# and C# compilers are now compiled for .NET Core 2.0, in addition to the existing .NET Framework 4.6.1 versions. This means that it is not necessary anymore to have mono installed to compile a WebSharper project on Linux or OSX.
By default, compiling a .NET Framework project uses the .NET Framework version of the compiler, and compiling a .NET Core or .NET Standard project uses the .NET Core version of the compiler. To override this default, you can set the project property
<WebSharperUseNetFxCompiler>
toTrue
(to use the .NET Framework compiler) orFalse
(to use the .NET Core compiler). -
#964: Add proxies for the new functions in F# 4.5:
Async.StartImmediateAsTask
Seq/List/Array.transpose
ValueOption
typeMap.TryGetValue
FuncConvert.FromFunc/FromAction
-
#965: Add support for C# 7.3 language features:
ref
local reassign- Expression variables in initializers
Known missing C# 7.3 feature, upcoming in WebSharper 4.3.1:
==
and!=
for tuple types
-
#929: The
WebSharper.Compiler
NuGet package, which provides the WebSharper compilers as a library, has been split in order to better handle the specific F# and C# use cases.WebSharper.Compiler.Common
contains the common compiler libraries.WebSharper.Compiler.FSharp
andWebSharper.Compiler.CSharp
contain the compilers for their respective languages. In addition to both depending onWebSharper.Compiler.Common
, they also have properly versioned dependencies on the F# Compiler Service and Roslyn, respectively.WebSharper.Compiler
still exists, but it is now a meta-package with no content of its own but which depends on bothWebSharper.Compiler.FSharp
andWebSharper.Compiler.CSharp
. If you were usingWebSharper.Compiler
to compile only one language, then you are encouraged to switch to the corresponding language-specific package.
Note that although the core WebSharper libraries are compatible with F# 4.1, the compiler requires the latest FSharp.Core 4.5.
-
#938: Allow macros to resolve
let
-bound variables.In an expression like
let y = x + 1 in macroedFunction y
, this allows the macro to retrieve and manipulate the expressionx + 1
, rather than just seeingy
.
Fixes
-
#963 Add missing proxies for F# numeric conversion functions:
int8
,byte
,int16
,uint16
,uint32
,uint64
,double
. -
#966: Support the
Method
sitelet endpoint attribute on a class. -
#968:
Task.Result
throws if accessed before the task is completed. -
#969: Include inherited C# auto-property backing field in remoting.