Skip to content

Releases: OpenRIAServices/OpenRiaServices

AspNetCore 1.3.1

18 Nov 14:32
7eaf1f2
Compare
Choose a tag to compare

New HTTP status codes

  • Submit can now return 409 and 422 (for conflicts and validation failure)
  • Use 415 unsupported media type instead of 400 for unsupported content type

What's Changed

Full Changelog: v5.6.0...aspnetcore-1.3.1

AspNetCore 1.3.0 & 5.6.0

14 Nov 14:10
f8a2c7f
Compare
Choose a tag to compare

AspNetCore 1.3.0 (#518)

  • New Http status codes returned
    • 401 unauthorized, 403 forbidden and 422 Unprocessable Entity (for validation failure)
    • IMPORTANT: POSSIBLE BREAKING CHANGE: this will not work with the obsolete wcf based domain client
  • New Methods on IServiceCollection for Setup and registration of DomainServices
    • AddOpenRiaServices now accept a callback for configuring Options
      • AddOpenRiaServices(Action<OpenRiaServicesOptions> configure)
    • New helper methods for registering DomainServices
      • AddDomainService<TDomainService>()
      • AddDomainService(typeof(DomainService))
      • AddDomainServices(params IEnumerable<Assembly>)
  • Simplified MapOpenRiaServices
    • Add AddRegisteredDomainServices() to "map" (add endpoints) for all registered domain services
    • Added new overloads of MapOpenRiaServices() which do not require a callback, it will map app registered domain services
    • MapOpenRiaServices now throws if there are no domain services registered
  • Added new OpenRiaServicesOptions for configuration openria services
    • Se Readme for a description of the settings
  • The StatusCodes property on exception will now be 403 when authorization fails but the user is logged in as an authenticated user (it was 401 before)
  • Add more nullability annotations to AspNetCore hosting

5.6.0

This is proably the last version with for WCF based hosting

BREAKING CHANGES:

  • Drops support for .NET6 and .netstandard2.0
  • Stop shipping WCF based domainclient as part of OpenRiaServices.Client.Core nuget
    The WebDomainClient has been depreciated since 2023
    • code gen
  • NOTE: WCF based hosting is considered depreciated and will be removed in the near future

Client Improvements

  • Handle exceptions when Exception StatusCode is 403 (Required for AspNetCore 1.3.0)
  • Set Accept header to "application/msbin1" (#521) for BinarHttpDomainClient
  • Client nugets no longer have a dependency on System.ServiceModel

General Improvements

  • Update nuget package dependencies

  • Update to latest version of Mono.Cecil

  • Updated integration test to run on .NET 8 instead of .NET Framework

  • Updated E2E integration tests no longer use WCF based client

  • Added some trimming annotations

  • What's Changed

  • Update nugets and Add some trimming annotations by @Daniel-Svensson in #517

  • Update azure-pipelines.yml for Azure Pipelines by @Daniel-Svensson in #519

  • Use sonarcloudv3 in azure-pipelines.yml by @Daniel-Svensson in #520

  • Set accept header for binary endpoint by @Daniel-Svensson in #521

  • AspNetCore: Add Options and improve Setup by @Daniel-Svensson in #518

  • Drop support for .NET 6, target .NET8 as minimum and update nuget dependencies by @Daniel-Svensson in #523

Full Changelog: v5.5.0...v5.6.0

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