Skip to content

Releases: dotnet-websharper/core

WebSharper 4.7

07 Dec 17:55
Compare
Choose a tag to compare

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 for net5.0 target framework and using FSharp.Core 5.0 is possible but no F# 5 language features are available yet.

Fixes

  • #1115 WebSharper.InterfaceGenerator helper function Pattern.OptionalFields uses the original target JS name, does not appends Opt incorrectly.
  • #1008 uint8 and uint16 array literals are now translated without compiler error.

WebSharper 4.6.7

17 Jul 14:04
Compare
Choose a tag to compare

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

15 Jun 18:35
afb42f1
Compare
Choose a tag to compare

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

13 Jun 14:50
Compare
Choose a tag to compare

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

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

07 Jun 21:16
Compare
Choose a tag to compare

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

25 May 22:30
Compare
Choose a tag to compare

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

15 May 18:59
Compare
Choose a tag to compare

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

04 Mar 08:38
Compare
Choose a tag to compare

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

01 Jan 19:08
Compare
Choose a tag to compare

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.

WebSharper 4.5.19

02 Oct 15:31
Compare
Choose a tag to compare

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.