Skip to content

Releases: fsbolero/Bolero

Version 0.24

17 Nov 15:15
Compare
Choose a tag to compare
  • #347 Add Blazor Interactive Render Modes.

    • IServiceCollection.AddBoleroComponents() to be called instead of IServiceCollection.AddBoleroHost() to use interactive render modes.
      When that is used, boleroScript will include blazor.web.js instead of blazor.server.js or blazor.webassembly.js.

    • BoleroRenderModeAttribute can be used to indicate the render mode of the component it is applied to.

    • Alternately, Bolero.Server.Html.attr.renderMode can be used to indicate the render mode of the component it is applied to.

  • Add Program.mkStreamRendering and Program.mkSimpleStreamRendering functions.

  • Add StreamRenderingComponent base class with members InitialModel: 'model and LoadModel: 'model -> Task<'model>.

  • #279 Re-enable the generation of reference assemblies.

  • #355 Fix CSS isolation on rebuild.

Version 0.24.25-beta

03 Jan 18:28
Compare
Choose a tag to compare
  • #347 Add Blazor Interactive Render Modes.

    • IServiceCollection.AddBoleroComponents() to be called instead of IServiceCollection.AddBoleroHost() to use interactive render modes.
      When that is used, boleroScript will include blazor.web.js instead of blazor.server.js or blazor.webassembly.js.

    • BoleroRenderModeAttribute can be used to indicate the render mode of the component it is applied to.

    • Alternately, Bolero.Server.Html.attr.renderMode can be used to indicate the render mode of the component it is applied to.

  • #279 Re-enable the generation of reference assemblies.

Version 0.23.52 (patch)

20 Nov 13:46
Compare
Choose a tag to compare
  • #336 Fix support for scoped CSS in HTML templates.

    This fix disables an optimization that keeps part of the template content as plain HTML. A new static parameter optimizePlainHtml: bool has been added to the type provider to enable this optimization, with the inconvenient of being incompatible with scoped CSS.

Version 0.23.49 (patch)

18 Nov 14:47
Compare
Choose a tag to compare
  • #330 Fix Bolero.Html not compiled for net8.0. by @landy and @psymm
  • #335 Update all .NET 8 dependencies from RC2 to RTM. by @Tarmil
  • Fix hash scrolling on first render. by @Tarmil

Version 0.23.46 (patch)

18 Nov 09:21
Compare
Choose a tag to compare
  • #330 Fix Bolero.Html not compiled for net8.0. Thanks @landy!
  • #332 Use .NET 8 SDK RTM. Thanks @xperiandri!
  • Fix mismatch between the version of FSharp.SystemTextJson required by the NuGet package and the version referenced by the assemblies.

Version 0.23

03 Nov 16:06
Compare
Choose a tag to compare
  • #308 Add router functions to decide what to do when the URL is invalid.

    • Router.withNotFound takes an endpoint to redirect to, and applies to a Router<_, _, _> (ie. an inferred router).

    • Router.withNotFoundMsg takes an Elmish message to send, and applies to any IRouter<_, _> (including manual routers).

    These functions apply when the initial URL is invalid, or when the URL is programmatically changed to be invalid.
    They do not apply when the user clicks a link to an invalid URL, in order to allow external links.

  • #309 Add support for query parameters in inferred routing with EndPointAttribute.

    • ?paramName={fieldName} adds query parameter paramName corresponding to the union field named fieldName. This parameter is mandatory if fieldName is a string, boolean or number, and optional if it is an option or voption of these types.

    • ?{paramName} is short for ?paramName={paramName}.

  • #313 Improve C# compatibility of server-side APIs.
    For the following extension methods:

    • IServiceCollection.AddBoleroHost
    • IServiceCollection.AddBoleroRouting
    • IEndpointRouteBuilder.MapFallbackToBolero

    The following changes are applied:

    • Optional arguments are changed from F#-style to C#-style. This is a source breaking change for callers who use explicit syntax ?argument = optionValue.
    • Function arguments are changed from F#-style functions to C#-style Func or Action.
  • #315 Support adding hash component to routing URLs:

    • Manually adding + "#foo" to a routed URL will correctly scroll to the element named foo in the target page.

    • Methods IRouter.Link and IRouter.HRef take a new optional argument hash: string to link to the corresponding #hash in the target page.

  • #316 Fix on.stopPropagation and on.preventDefault to take event names without the on prefix, for consistency with on.event.

  • #317 Fix .NET 8 compatibility of the MSBuild task for scoped CSS.

  • #317 Fix .NET 8 compatibility of the server-side rendering of nodes.

  • #323 Use WheelEventArgs for wheel events and ErrorEventArgs for on.error.

Version 0.22.45 (patch)

17 Jun 12:34
Compare
Choose a tag to compare
  • #305 Ensure that CSS scopes are re-generated after upgrading Bolero.Build.

Version 0.22.44 (patch)

29 May 09:15
Compare
Choose a tag to compare

Fix generated name of CssScopes.

Version 0.22.43 (patch)

15 Apr 11:09
Compare
Choose a tag to compare
  • #301 Update Elmish from 4.0.0 to 4.0.1. This avoids version resolution issues downstream (in particular in HotReload) caused by the fact that Elmish 4.0.1 drops Elmish 4.0.0's dependency on FSharp.Core >= 6.0.7.

Version 0.22

10 Apr 15:02
Compare
Choose a tag to compare
  • #289 Add endpoint routing for remote services.

    • Add extension methods IServiceCollection.AddBoleroRemoting() in Bolero.Server, with the same overloads as the existing AddRemoting(), to register remote services for endpoint routing.

    • Add extension method IEndpointRouteBuilder.MapBoleroRemoting(?buildEndpoint) that sets up endpoint routing for all registered services.
      The function buildEndpoint configures the endpoint for a given method.
      The returned IEndpointConventionBuilder configures all the endpoints.

    • Add typed version of IEndpointRouteBuilder.MapBoleroRemoting<_>(?buildEndpoint) to set up a specific remote service.

    • Make IServiceCollection.AddRemoting() and IApplicationBuilder.UseRemoting() obsolete, and add IServiceCollection.AddBoleroRemoting() in Bolero.Client as equivalent of AddRemoting().

  • #280 Add typed version of IServiceCollection.AddBoleroRemoting<_>() in Bolero.Client to configure the HttpClient and serialization of a given remote service separately.

  • #288 Update Elmish to version 4.

  • #296 Add CSS isolation for Bolero components.
    Files ending in .bolero.css are treated as component-specific styles which can be applied to a component type with the following property:

    override _.CssScope = CssScopes.MyApp

    where CssScopes is a compiler-generated module and MyApp is the name of the style file without .bolero.css extension.

    The MSBuild item BoleroScopedCss can be used to add component-specific CSS files.
    Its metadata ScopeName determines the name of the corresponding value in the CssScopes module.

  • #290 Add support for HTML element references in HTML templates.
    In a template, an attribute ref="MyRef" will generate a method .MyRef() taking an HtmlRef as argument.

  • #269 Add a Zero method to the HTML builders to allow raising exceptions in the body.