Skip to content

Releases: revoframework/Revo

Revo-1.18.1

16 Nov 20:23
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

Revo-1.13.1

15 Jan 16:41
Compare
Choose a tag to compare

[1.13.1] - 2020-01-15

Added

  • now it's possible to specify FileSqlDatabaseMigration version in its headers

Revo-1.13.0

29 Nov 23:39
Compare
Choose a tag to compare

[1.13.0] - 2019-11-29

Added

  • database migrations - new own system for managing database schema version migrations (incl. module dependencies)
  • standalone database migration tool Revo.Tools.DatabaseMigrator (also invokable as global .NET Core tool revo-dbmigrate)
  • support for SQLite in EF Core infrastructure implementation (event store, async event queues, etc.)

Fixed

  • events are now correctly marked as dispatched even when there are no listeners for them
  • fixed missing IExternalEventStore registration for EF6 provider
  • not resetting DbContexts after EFCoreCoordinatedTransaction finishes

Changed

  • Entity Framework 6 provider updated to EF6.3 version and is now targeting both net472 and netstandard2.1
  • Revo.Extensions.Notifications and Revo.Extensions.History now need to be explicitly registered in Revo configuration using AddHistoryExtension and AddNotificationsExtension
  • removed IRepository.SaveChangesAsync to avoid confusion - it doesn't work well in certain situations (e.g. with EF Core provider) and IUnitOfWork.CommitAsync should be used instead
  • NLog updated to 4.6.7

Revo-1.12.0

22 Oct 12:52
Compare
Choose a tag to compare

[1.12.0] - 2019-10-22

Added

  • new BaseTypeAttribute for EF Core mapping - overrides the mapped entity base type

Changed

  • upgraded to ASP.NET Core 3.0 and Entity Framework Core 3.0
  • ReadModelForEntityAttribute no longer overrides mapped table name (leaves default)

Removed

  • dropped OData out-of-the-box integration on ASP.NET & ASP.NET Core platforms altogether (OData is not supported on ASP.NET Core 3.0 now), you have to integrate it by yourself now