Skip to content

Releases: revoframework/Revo

Revo-1.20.0

19 Dec 11:38

Choose a tag to compare

[1.20.0] - 2020-12-19

Added

  • custom query provider + helpers in EF Core provider for easier query authorization (default enabled by EnableCustomQueryProvider) with AuthorizationQueryableExtensions
  • support for custom EF Core query translation plugins (IQueryTranslationPlugin)
  • IEFCoreReadRepository.FromSqlInterpolated and FromSqlRaw (which apply repository filters, unlike existing IEFCoreDatabaseAccess methods)
  • IEntityQueryFilter.FilterAsync overload without command (just takes the current one)

Changed

  • IEntityQueryFilter.FilterAsync filter is now generic to enable easier filtering for derived entity types

Revo-1.19.0

06 Dec 17:42

Choose a tag to compare

[1.19.0] - 2020-12-06

Change

  • breaking change: TenantRepositoryFilter gets injected always, but uses now only Lazy - fixes issue when first request didn't have the filter applied (hint: use ExcludeFilters method when implementing a custom ITenantProvider)

Revo-1.18.2

24 Nov 09:45

Choose a tag to compare

[1.18.2] - 2020-11-20

Fixed

  • Permission constructor now correctly accepts objects as contextId and resourceId (in accordance with change from 1.18.0)

Revo-1.18.1

16 Nov 20:23

Choose a tag to compare

[1.18.1] - 2020-11-16

Fixed

  • fixed publishing of NuGet package symbols: now using separate snupkg for symbols

Revo-1.18.0

16 Nov 20:22

Choose a tag to compare

[1.18.0] - 2020-11-16

Added

  • support for .NET 5.0, ASP.NET Core 5.0 and EF Core 5.0 (supporting both 3.1 and 5.0 versions now)

Changed

  • Permission.ContextId and ResourceId can now be any objects
  • updated minor version for EF Core 3.1.x
  • updated RavenDB.Client to 5.0.4, Revo.RavenDB now only requires netstandard2.0
  • Rebus:
    • using manual configuration instead of XML now
    • updated dependency to 5.0.4
    • Revo.Rebus now only requires netstandard2.0

Removed

  • dropping support for legacy ASP.NET platform (.NET 4.7)

Revo-1.17.0

25 Aug 14:57

Choose a tag to compare

[1.17.0] - 2020-08-25

Changed

  • removed core dependency on AutoMapper
    • the functionality of automatic registration of profiles got separated into new Revo.Extensions.AutoMapper package
    • updated to AutoMapper 9.0

Fixed

  • Apply methods inherited in EntityEventProjector no longer get called multiple times
  • catching ReflectionTypeLoadException exceptions in TypeExplorer

Revo-1.16.0

23 Jun 17:55

Choose a tag to compare

[1.16.0] - 2020-06-23

Added

  • improved multi-tenancy configuration
  • major refactoring of command bus internals:
    • support for multiple command buses (local, remote...)
    • routing commands to buses with command gateway
    • overhauled command pipeline based on new and more flexible command bus middlewares
    • CommandExecutionOptions that can change the tenant context to run the command in and other options
  • AsyncEventListenerBindingExtensions for easier async event listener registration
  • convenience methods IReadRepository.GetManyAsync and IReadRepository.FindManyAsync using Guid IDs
  • added PerAggregateAsyncEventSequencer and PerTenantAsyncEventSequencer for common sequencer scenarios
  • added IDatabaseInitializerLoader.EnsureDatabaseInitialized

Changed

  • breaking change: null tenants now cannot access other tenant's data by default (can be changed by configuration)
  • breaking change: ITenant moved from Revo.Domain to Revo.Core
  • simplified security (IUserManager replaced with Revo.Core.Security.IClaimsPrincipalResolver, disabling null implementations can now be done with CoreConfigurationSection.Security.UseNullSecurityModule)
  • Permission now contains only PermissionTypeId instead of PermissionType
  • Repository can now be instantiated even without any active UnitOfWork
  • updated to (ASP).NET Core 3.1
  • ASP.NET Core provider's RevoStartup class now only calls AddMvcCore() instead of AddMvc(), you have to add other parts yourself in ConfigureServices(...) if you want them

Removed

  • Revo.AspNetCore.Security.ISignInManager removed, use IUserContext instead
  • AuthorizePermissionsAttribute for old ASP.NET 4 removed (inconsistent with the rest of the framework)

Revo-1.15.0

05 Mar 13:53

Choose a tag to compare

[1.15.0] - 2020-03-05

Added

  • IDatabaseMigrationExecutionOptions.MigrateOnlySpecifiedModules can now be specified using wildcards

Fixed

  • database migrations: doesn't throw anymore if there is no migration for specified version, but DB is already up-to-date
  • database migrations: now throws when updating to 'latest' version, but no migrations are found

Revo-1.14.1

05 Mar 13:51

Choose a tag to compare

[1.14.1] - 2020-02-26

Added

  • IReadRepository.GetManyAsync and FindManyAsync

Fixed

  • fixed appending events to event store (wrong expected event number)

Revo-1.14.0

05 Mar 13:50

Choose a tag to compare

[1.14.0] - 2020-02-11

Added

  • event upgrade support - just implement IEventUpgrade in your code (auto discovery) and Revo upgrades the event streams on-the-fly upon loading the aggregates

Fixed

  • event version parsed from types whose name ends with V letter without number no longer recognized as versioned name

Changed

  • EventSourcedAggregateRoot.Commit increases Version by 1 (previously by event count)
  • EntityEventToPocoProjector uses AggregateVersion instead of StreamSequenceNumber event metadata for read model versioning

Removed

  • removed APNS and FCM (push notification) channel support from Revo.Extensions.Notifications using obsolete PushSharp library