Releases: dotnet-websharper/core
WebSharper 4.7
This is a minor release for WebSharper 4.
Templates for .NET Core SDK: dotnet new -i WebSharper.Templates::4.7.0.395
Templates for Visual Studio 2017/2019: http://websharper.com/installers/WebSharper.4.7.0.395.vsix
This release updates to a new version of FSharp.Compiler.Service. For optimal compilation speed of F# projects, run the packages\WebSharper.FSharp.4.7.0.423\tools\runngen.ps1
script in administrator mode once.
Features
-
#1114 Added
JS.Import
,JS.ImportDefault
,JS.ImportAll
,JS.ImportDynamic
functions. Sample usage:[<Inline>] let importTestJsAll : obj = JS.ImportAll "/modules/test.js" // translates to: import * as test from "/modules/test.js" [<Inline>] let importTestJs : obj = JS.Import("testExport", "/modules/test.js") // translates to: import { testExport } from "/modules/test.js" [<Inline>] let importTestJsDefault : obj = JS.ImportDefault "/modules/test.js" // translates to: import def$test from "/modules/test.js" // this does not add an import statement on top of the file as the others, but uses JavaScript import function [<JavaScript>] let testImportDynamic : Promise = JS.ImportDynamic("/modules/test.js").Then(fun testModule => testModule?testExport()) // translates to: import("/modules/test.js").then(function (testModule) { testModule.testExport(); })
-
#1070 The javascript
import
function can now be used within inlines, translates to JS correctly.[<Inline "import('/modules/my-module.js').then(function (module) { module.run(); })">] let runMyModule() = X<Promise>
-
#1120 Updated to
FSharp.Compiler.Service
37.0. Building fornet5.0
target framework and usingFSharp.Core
5.0 is possible but no F# 5 language features are available yet.
Fixes
WebSharper 4.6.7
This is an enhancement release for WebSharper 4.6.
Templates for .NET Core SDK: dotnet new -i WebSharper.Templates::4.6.7.382
Templates for Visual Studio 2017/2019: http://websharper.com/installers/WebSharper.4.6.7.382.vsix
Enhancements
- #1108 Added
WebSharperSharedMetadata=None
setting option to disable metadata loading for Sitelet runtime when not needed (only server-side features of WebSharper are used). Warning: this breaks any site with client-side functionality or RPCs.
Fixes
- Templates specify
langversion:7.3
for C#, which currently has full WebSharper support (projects with newer versions may compile but some newer language fetaures are not supported yet). Thanks to @3dGrabber.
WebSharper 4.6.6
This is a bugfix release for WebSharper 4.6.
Templates for .NET Core SDK: dotnet new -i WebSharper.Templates::4.6.6.380
Templates for Visual Studio 2017/2019: http://websharper.com/installers/WebSharper.4.6.6.380.vsix
Fixes
- #1107 Fix build failure on .NET Core C# projects (introduced recently with compiler runtime change to netcoreapp3.1)
WebSharper 4.6.5
This is a minor release for WebSharper 4.6.
Templates for .NET Core SDK: dotnet new -i WebSharper.Templates::4.6.5.374
Templates for Visual Studio 2017/2019: http://websharper.com/installers/WebSharper.4.6.5.374.vsix
This release updates to a new version of FSharp.Compiler.Service. For optimal compilation speed, run the packages\WebSharper.FSharp.4.6.5.406\tools\runngen.ps1
script in administrator mode once.
Fixes
- #1105 Do not write BOM (UTF-8 byte order mark) for
Content.Text
. Thanks to @panesofglass and @Tarmil.
Improvements
- #1104 Optimize partial tail recursion for F#. When a recursive call is not always in tail position, still optimize for if any tail calls are used.
WebSharper 4.6.4
This is a dependency update release for WebSharper 4.6.
Templates for .NET Core SDK: dotnet new -i WebSharper.Templates::4.6.4.373
Templates for Visual Studio 2017/2019: http://websharper.com/installers/WebSharper.4.6.4.373.vsix
Fixes
- #1103 Fix code support for WebSharper projects in Visual Studio Code by turning compiler switch and extra flags off for design-time builds.
Enhancements
- #1102 Using
<NoWarn>$(NoWarn);9002</NoWarn>
on a project now hides all warnings by WebSharper.
Breaking changes
- #1055 updated .NET Core compilers to run on netcoreapp3.1. A netcoreapp3.1 runtime installed is needed instead of netcoreapp2.0.
WebSharper 4.6.3
This is a bugfix release for WebSharper 4.6.
Templates for .NET Core SDK: dotnet new -i WebSharper.Templates::4.6.3.368
Templates for Visual Studio 2017/2019: http://websharper.com/installers/WebSharper.4.6.3.368.vsix
Fixes
- #1101 Fix adding extra parameters to
RemotingProvider
attribute.
WebSharper 4.6.2
This is a minor release for WebSharper 4.6.
Templates for .NET Core SDK: dotnet new -i WebSharper.Templates::4.6.2.367
Templates for Visual Studio 2017/2019: http://websharper.com/installers/WebSharper.4.6.2.367.vsix
This release updates to a new version of FSharp.Compiler.Service. For optimal compilation speed, run the packages\WebSharper.FSharp.4.6.2.386\tools\runngen.ps1
script in administrator mode once.
Fixes
- #1094 Behavior of
Map
constructor with sequence parameter matches .NET, keeping last value for keys in multiples. - #1098 Fixed translation bug for tupled lambda functions using
as
alias on parameter.
Improvements
- #1097 WebSharper-generated resource/script links can be removed, by having setting in
web.config
/.NET Core configuration with the name of the resource type and empty string value. - #1095 QuotationCompiler now recognizes all attributes. This will enable updating WebSharper.Warp to WebSharper 4 and other use cases of dynamic translation from F# interactive.
- Updated to FSharp.Compiler.Service 35.0.
WebSharper 4.6.1
This is a minor release for WebSharper 4.6.
Templates for .NET Core SDK: dotnet new -i WebSharper.Templates::4.6.1.363
Templates for Visual Studio 2017/2019: http://websharper.com/installers/WebSharper.4.6.1.363.vsix
This release updates to a new version of FSharp.Compiler.Service. For optimal compilation speed, run the packages\WebSharper.FSharp.4.6.1.381\tools\runngen.ps1
script in administrator mode once.
Fixes
- #1091 Fixed an F# compilation error that happened whenever an F# expression that is translated to a JavaScript statement (for example
try ... with
was used within a single element array construction. - #1092 Fixed C# MSBuild errors around
WebSharper.MSBuild.CSharp.WebSharperTask
.
Improvements
- Updated to FSharp.Compiler.Service 34.1.0.
WebSharper 4.6
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.6.0.357
Templates for Visual Studio 2017: http://websharper.com/installers/WebSharper.4.6.0.357.vsix
This release updates to a new version of FSharp.Compiler.Service. For optimal compilation speed, run the packages\WebSharper.FSharp.4.6.0.361\tools\runngen.ps1
script in administrator mode once.
Features
- #1067 Added the
Proxy
project type (experimental feature). Having"project"="proxy"
inwsconfig.json
makes the produced dll to contain no IL code, but have full WebSharper translation and metadata. With the use of multiple project files or msbuild conditionals, this allows building a dll from the original source code (or with slight modifications only) that can be used in parallel with the original .NET-facing library to add WebSharper cliens-side support for it. Also set"proxyTargetName"="OriginalAssemblyName"
. Examples upcoming. - #1069 Added
SingleNoJSErrors
compiler setting. Having"singleNoJSErrors"=true
inwsconfig.json
makes the WebSharper compiler report only the first occurrence of every type/method that is unsupported for the client side. - #1075 Added
UseJavaScriptSymbol
compiler setting. Having"useJavaScriptSymbol"=true
inwsconfig.json
makes the WebSharper compiler to include theJAVASCRIPT
conditional compilation symbol when making a pass for parsing the project for client-side use. Using#if JAVASCRIPT
is a top-level way of differentiating server-side and client-side code where needed, available in both F# and C#. This is added as an opt-in feature, because re-parsing takes some time, there should be no compile time regressions on existing projects. - #1084
wsconfig.json
location (including file name) is now configurable via theWebSharperConfigFile
project file property. Also, if not set,wsconfig.ProjectName.json
is checked first. - #1082 Strong naming works when building on .NET Core
- #576 Client-side support for collection interfaces
- #1073 Client-side support for
Microsoft.FSharp.Core.OptimizedClosures.FSharpFunc
- #1071 More client-side support for
Microsoft.FSharp.Core.LanguagePrimitives
/Operators
- #1073 Client-side support for
System.Collections.Generic.KeyNotFoundException
,System.Threading.Interlocked
- dotnet-websharper/templates#14 .NET Core/Standard templates available for Visual Studio
- dotnet-websharper/templates#23 Extension template available for .NET Standard
- Updated to
FSharp.Compiler.Service
version33.0.1
.
Fixes
WebSharper 4.5.19
This is a minor release for WebSharper 4.5.
Templates for .NET Core SDK: dotnet new -i WebSharper.Templates::4.5.19.332
Templates for Visual Studio 2017/2019: http://websharper.com/installers/WebSharper.4.5.19.332.vsix
This release updates to a new version of FSharp.Compiler.Service. For optimal compilation speed, run the packages\WebSharper.FSharp.4.5.19.349\tools\runngen.ps1
script in administrator mode once.
Improvements
- #1064 Full support for FSharp.Core 4.7.0 new functions.
- Updated to FSharp.Compiler.Service 32.0.0, this includes syntax changes coming with F# 4.7, most notably implicit yields in sequence/list/array expressions.