Releases: revoframework/Revo
Releases · revoframework/Revo
Revo-1.20.0
[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
[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
[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
[1.18.1] - 2020-11-16
Fixed
- fixed publishing of NuGet package symbols: now using separate snupkg for symbols
Revo-1.18.0
[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
[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
[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
[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
[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
[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