Skip to content

WebSharper 4.6

Compare
Choose a tag to compare
@Jand42 Jand42 released this 01 Jan 19:08
· 1035 commits to master since this release

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" in wsconfig.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 in wsconfig.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 in wsconfig.json makes the WebSharper compiler to include the JAVASCRIPT 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 the WebSharperConfigFile 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 version 33.0.1.

Fixes

  • #1074 Fix for trait call translation (used also for operator overloading)
  • #1077 Fixed name of HTMLInputElement.files.
  • #1078 Added missing constructor to XMLHttpRequest.