Skip to content

Releases: OpenRIAServices/OpenRiaServices

v5.5.0 / EntityFrameworkCore 3.1.0 / AspNetCore 1.2.0

12 Jun 13:58
94081df
Compare
Choose a tag to compare

OpenRiaServices.EntityFrameworkCore 3.1.0

  • Initial support for Owned Entities for one-to-one navigation properties (#500)
    • Owned entities without explicit keys are mapped to OpenRiaServices's [Complex Types]
    • Owned entities with explicit keys are generated as normal "Entities" but are automatically annotated with [Composition]
    • EFCore "Complex Types" introduced in EFCore 8.0 does not have any special handling
  • Add new helper method AttachAsModified<TEntity>(TEntity entity) (#506)
    • It works similar to the existing AttachAsModified extension methods on DbSet but
      • is smarter (works with and without original entity)
      • reduces code that needs to be written and works both with and without "OriginalEntity" (RoundTripAttribute)
  • Add package README to OpenRiaServices.Server.EntityFrameworkCore

AspNetCore 1.2.0

  • Add support for specifying endpoints routes (#508, issue: #507)
    You can choose between 3 different approaches to how the endpoint routes are generated.
    See AspNetCore readme for more details.
    • WCF will generate the same routes as WCF RIA Services Some-Namespace-TypeName.svc/binary/Method
    • FullName will generate routes with the full name of the DomainService Some-Namespace-TypeName/Method
    • Name will generate routes with the short name of the DomainService TypeName/Method

Code generation

  • Log whole Exceptions in DomainServiceCatalog instead of just message (#502), for better error messages on code generation failure
  • Call "dotnet CodeGenTask.dll" instead of "CodeGenTask.exe" #503
  • Support for the 3 different approaches to how the endpoint routes are generated for AspNetCore hosting (#508)
  • Replace obsolete AssociationAttribute with new EntityAssociationAttribute on client (#509)

Client

  • Replace obsolete AssociationAttribute with new EntityAssociationAttribute on client (#509)
    • The client currently detect AssociationAttribute but it will be removed in future versions.
    • Ensure you have the corresponding version of the Code generation
  • BinaryHttpDomainClientFactory has a new constructor taking in an Func<Uri, HttpClient> so that the callback has access to the uri passed to the DomainContext
    • If the HttpClient factory method sets BaseAddress on the httpClient then the address vill be preserved and used for server calls.

What's Changed

Full Changelog: v5.4.3...v5.5.0

EntityFrameworkCore 3.0.0

14 Apr 11:29
6c34153
Compare
Choose a tag to compare

OpenRiaServices.Server.EntityFrameworkCore 3.0.0

Add EF Core 8 support by @ehsangfl @Daniel-Svensson in #496

  • Target .NET 8.0 and EF Core 8
    • IMPORTANT EF Core 8 is NOT backwards compatible with models (DbContexct) classes compiled against earlier versions of EF Core.
      Methods such as HasName in OnConfigure will throw MethodNotFoundException
      This means that to use EF Core 8 all referenced EF Core projects needs to be updated to 8.0
  • Drops support for earlier TargetFrameworks
    • Due to limitations above with binary breaking changes in EF Core earlier frameworks will not be supported to reduce risk of mixing EF Core versions.
    • Use the 2.0.* version of the nuget package if you need support for earlier versions of EF Core

Other internal changes

  • Remove a bunch of "#if NET6_0" so it works on multiple versions of .NET
  • update nuget packages
    • MSTest to 3.3.1
    • Microsoft.CodeAnalysis.* 4.9.2
    • Microsoft.Build.Locator 1.7.8
    • remove Microsoft.EntityFrameworkCore.Design
    • Update to "Microsoft.NET.Test.Sdk" 17.9.0

V5.4.3

14 Mar 11:03
a2cb57e
Compare
Choose a tag to compare

Client

  • Significant performance improvements when working with many entities in various scenarios

Server

  • Reduced allocatgions when parsing queries on server (both WCF and AspNetCore hosting) in #485 * Update nuget dependencies and add new dependencies to OpenRiaServices.Hosting.Wcf * System.Collections.Immutable and System.Memory are new dependencies of Wcf hosting * .NET Framework builds now includes the smaller portable pdb's instead of of the old "full" windows style pdb's * NOTE: For .NET Framework apps ensure that supportedRuntime in app.config and corresponding setting in web.config does not specify an older runtime if you wan't line numbers in stack traces.

What's Changed

Full Changelog: v5.4.2...v5.4.3

5.4.2 / AspNetCore 1.0.0

10 Jan 15:06
08858c1
Compare
Choose a tag to compare

Overview

AspNetCore 1.0.0

  • First major release #466
  • Added authentication documentation
  • Use FrozenSet in first location (QueryStringConverter)

Code generation

  • Do not use attributes reserved for the compiler in code generation #472
    • Nullable reference types now works
    • It is now possible to use required modifier for fields and properties

.NET8

  • .NET8 sdk is now used to build #463

Testhost

  • Add support in DomainServiceTestHost for asynchronous queries that return a single entity #464

What's Changed

Full Changelog: v5.4.1...v5.4.2

5.4.1

13 Nov 20:35
fedc04f
Compare
Choose a tag to compare

Overview

Code generation

  • Fix .NET7+ code generation crash for RegularExpressionAttribute #449

Client

  • Improved performance of property setters (and Add) #451 #453 #456

What's Changed

New Contributors

Full Changelog: v5.4.0...v5.4.1

5.4.0

29 Sep 12:28
e32f5ca
Compare
Choose a tag to compare

5.4.0

This release fully supports .NET 6+ for both server and client without having to rely on workarounds to have the code generation work.

Code Generation Supports NET6+

  • Support net6+ on server (#414)
    • Add version of code generation which allows server project to be .NET 6 or later
    • Works with dotnet build - you can build without installing Visual Studio

Client

  • Ensure exceptions from xxxOperation callbacks and unhandled exceptions are rethrow on the SyncronizationContext. (#424)
    • This allows events such as DispatcherUnhandledException (for WPF) to be used for showing error messages immediately
  • Add net6.0-windows TargetFramework for client (#436)
    • EntitySet and EntityCollection now implements ICollectionViewFactory for net6.0-windows. improving supprot with controls using CollectionView
    • This change came in WCF Ria Services SP1 WCF Ria Services SP1

      DataForm Add/Remove for EntitySet and EntityCollection
      With our initial V1.0 release, many of you found that a DataForm bound to an EntitySet or an EntityCollection did not support the Add or Remove buttons. This was a difficult cut to make in V1.0, so I’m pleased to announce that with V1.0 SP1, this is now supported. Silverlight 4 introduced the ICollectionViewFactory interface, with support integrated into DataGrid and DataForm, and both EntitySet and EntityCollection now implement that interface to allow the Add/Remove features to light up.

  • The WCF based WebDomainClientFactory will not receive any new changes and is now marked as obsolete. It is recommeded to switch to OpenRiaServices.Client.DomainClients.BinaryHttpDomainClientFactory instead.

Other

  • Run E2E tests against AspNetCore hosting
  • Various smaller performance fixes and code cleanup (#438), #435

5.4.0-preview.2

01 Aug 19:24
286c839
Compare
Choose a tag to compare
5.4.0-preview.2 Pre-release
Pre-release

5.4.0

What's Changed in preview 2

New Contributors

Full Changelog: v5.3.1...v5.4.0-preview.2

AspNetCore Hosting 0.4.0

24 Jun 09:52
5ff0fac
Compare
Choose a tag to compare

AspNetCore 0.4.0

 *   Copies "All" attributes to endpoint metadata      
     * Some attributes sucha as Validation, Authorization and other attributes specific to OpenRiaServices are not copied
 * `AddDomainService()` methods inside `MapOpenRiaServices` now returns `IEndpointConventionBuilder` allowing conventions to be specified per `DomainService`
    ```C#
    app.MapOpenRiaServices(builder =>
    {
        builder.AddDomainService<Cities.CityDomainService>()
            .WithGroupName("Cities");
    });
    ```
 * Updated README.md and added Sample project
 * Make it compatible with more middleware such as OutputCache middleware by "Completing" responses
 * CHANGES:
    * `services.AddOpenRiaServices<T>()` now requires T to derive from DomainServce
    * `services.AddOpenRiaServices<T>()` has different return type

What's Changed

Full Changelog: v5.4.0-preview.1...aspnetcore-0.4.0

5.4.0-preview.1

20 Jun 12:35
6bf155c
Compare
Choose a tag to compare
5.4.0-preview.1 Pre-release
Pre-release
  • Add version of code generation which allows server project to be .NET 6 or later
    • Works with dotnet build

A complete sample with WPF core and Asp.Net Core can be found at https://github.com/OpenRIAServices/Samples/tree/main/WpfCore_AspNetCore

What's Changed

Full Changelog: v5.3.1...v5.4.0-preview.1

5.3.1 / EfCore 2.0.2 / Aspnetcore 0.3.0

26 May 14:24
3158a17
Compare
Choose a tag to compare

5.3.1 with EFCore 2.0.2 and AspNetCore 0.3.0

  • Code Generation
    • Switch to using Mono.Cecil to parse pdb files during code generation (#410)
      This should make it possible to use portable and embedded pdb's on the server
  • AspNetCore
    • New extension method to add OpenRiaServices to services.
      services.AddOpenRiaServices<T>()
    • New extension method to add OpenRiaServices to pipeline.
      endpoints.MapOpenRiaServices(opt => opt.AddDomainService<T>())
    • Add Net7 build target to support "Finally Conventions" (IEndpointConventionBuilder.Finally)
    • Add OpenRiaServices.Server.DomainOperationEntry to endpoint metadata
      • This allows end user to easier implement additional conventions (such as Open Api or similar)
    • Copy AuthorizationAttributes to endpoint metadata for queries and invokes to support AspNetCore Authorization
      • Attributes can be set on either method or class level
    • Fixed serialization of sizes larger than 1 GB

Other

  • Updated nuget packages