comment
We just released version 3.5.9 of the WebSharper stack. This is mostly a bugfix release, with a few shorthands added to the UI.Next API.
Change log
WebSharper
#477: Fix translation to JavaScript of mutable variables used from a closure (F# 4.0 feature).
#478: Fix encoding of web controls by the ASP.NET ScriptManager.
#479: Fix currying of local functions in some edge cases.
#480: Fix division involving large negative integers.
#481: Include "Z" UTC indicator in server-side System.DateTime JSON serialization.
Ignore final slash in table-based Sitelets routing, thus fixing WebSharper.Suave #1.
WebSharper.Html
- #1: Restore Html.Server.Web.Control and fix the JSON encoding of any client-side controls it contains.
 
WebSharper.UI.Next
#43: Use
keypressinstead ofkeyupfor IE8-compatible input detection in theAttr.ValueandDoc.Inputfamilies of functions. This makes it possible to useon.keyupfor other purposes, such as catching Enter to submit the input.Add
Submitter.CreateOption : View<'T> -> Submitter<option<'T>>. This creates a Submitter with initial valueNone, that maps the input view throughSomewhen triggered.Rename the
View.ConvertandDoc.Convertfamilies of functions as follows:1 2 3 4 5 6 7 8
View.Convert -> View.MapSeqCached View.ConvertBy -> View.MapSeqCachedBy View.ConvertSeq -> View.MapSeqCachedView View.ConvertSeqBy -> View.MapSeqCachedViewBy Doc.Convert -> Doc.BindSeqCached Doc.ConvertBy -> Doc.BindSeqCachedBy Doc.ConvertSeq -> Doc.BindSeqCachedView Doc.ConvertSeqBy -> Doc.BindSeqCachedViewBy
The old versions still exist for backward-compatibility, but are marked obsolete.
Add extension method equivalents on
View<'T>for all of the above. They are overloaded: all variants ofView.MapSeqCachedhave an equivalentv.MapSeqCached(), and all variants ofDoc.BindSeqCachedhave an equivalentv.DocSeqCached().
Additionally,Doc.BindViewhas an equivalentv.Doc().
Project Templates
The UI.Next project templates in the Visual Studio extension and the Xamarin Studio addin have been updated:
The SPA project uses
People.View.DocSeqCached()instead ofListModel.View People |> Doc.Convert.The Client-Server projects now use a reactive style for the small client-side code sample, instead of the previous imperative style.
Happy coding!






