Skip to content

Latest commit

 

History

History
159 lines (116 loc) · 5.16 KB

CHANGELOG.md

File metadata and controls

159 lines (116 loc) · 5.16 KB

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog but this project DOES NOT adhere to Semantic Versioning.

8.1

  • LeanCode.Kratos has switched from official (and at the time outdated) client package Ory.Kratos.Client to our own LeanCode.Kratos.Client that is maintained at https://github.com/leancodepl/dotnet-kratos-client and with this the usage has changed:
  • Underlying JSON (de)serializer is now STJ instead of JSON.NET
  • Values returned from client's API calls are now wrapped in response objects that provide additional info
  • Models were rebuilt, adding support for NRT and wrapping optional properties in Option<T> (importantly, the latter can change how identity metadata should be read)
  • The client comes with its own DI registration extensions, changing how it should be added to DI container
  • Better tracing across CQRS executions

8.0

  • Upgrade to .NET 8
  • Add LeanCode.Kratos
  • Remove custom outbox in favor of MassTransit Outbox
  • Switch to .Add* pattern for DI configuration, removing Autofac and IAppModules
  • Use Endpoint Routing for RemoteCQRS
  • Remove custom pipelines, use ASP.NET mechanism of middlewares
  • Remove AppContext in favor of using HttpContext directly
  • Support Azure Workload Identity
  • Improve CoreLib-provided logging, tracing and metrics
  • Remove singleton/scoped FluentValidation configuration, remove RuleForAsync in favor of CustomAsync
  • Introduce exception translation middleware,
  • Add Ulids as a valid source-generated ID
  • Switch to System.TimeProvider, removing ITimeProvider
  • Improved PostgreSQL handling
  • UserId is now a generic type in most of the helpers
  • Rename IIdentifiable to IEntity
  • Extensive documentation

7.0

  • Upgrade to .NET 7
  • Remove Cache abstractions
  • Remove LeanCode.AsyncTasks and Hangfire-based implementation
  • FindAndEnsureExistsAsync now throws EntityDoesNotExistException
  • Remove AddAsync, UpdateAsync, DeleteAsync and DeleteRangeAsync from EFRepository and IRepository
  • Remove IRepository<T>
  • Change EFRepository.Update so that it does not call dbContext.Update anymore
  • Rework FixedTimeProvider so that if it doesn't find a date in asynchronous local storage it will return the current now instead of zero date
  • Add middleware to log query's and operation's responses
  • Rework JsonLaxDateOnlyConverter to read into a stack-allocated span instead of heap-allocating strings
  • Add JsonLaxTimeOnlyConverter and JsonLaxDateTimeOffsetConverter
  • Extract StyleCop out of CodeAnalysis
  • Add source-generated IDs
  • Add Fluent Validators scoped to request

6.1

  • Upgrade MassTransit to v8
  • Add Operations
  • Make FCM abstraction work with PostgreSQL

6.0

  • Upgrade to .NET 6
  • Remove IdentityProvider
  • Remove System.Time (it is available in .NET 6)
  • Promote using Azure MSI & add LeanCode Azure default credential provider
  • Introduce SId & LId
  • Switch to OpenTracing
  • Remove LeanCode.ContractsGenerator in favor of the new contracts generator
  • Package bump

5.1

  • Remove LeanCode.Facebook,
  • Support FB in LeanCode.ExternalIdentityProviders
  • Change ValueObject to abstract record

5.0

  • Upgrade to .NET 5.0
  • Use CancellationToken in CQRS pipeline and some integrations
  • Import System.Time from corefxlab as LeanCode.Time
  • Add strongly–typed IDs (Id<T> / IId<T>)
  • Remove IUnitOfWork, LeanCode.PushNotifications and in–proc event handlers
  • Rework PdfRocket integration
  • Throw exceptions on SendGrid call failures
  • Bump packages (MassTransit to v7, IdentityServer4 to v4)

4.2

  • MassTransit inbox/outbox pattern

4.1

  • Upgrade to .NET Core 3.1

4.0

  • Upgrade to .NET Core 3.0
  • Bump C# language version to 8.0
  • Add support for Nullable Reference Types
  • Multiple breaking changes related to Razor, events, async methods and more
  • Remove now redundant calls to ConfigureAwait in async methods
  • Replace Newtonsoft.Json with System.Text.Json
  • AsyncTasks.Hangfire does not prepare schema by default now
  • BackgroundProcessingApp is now HangfireTasksModule
  • Add MassTransit integration
  • Replace hand-written SendGrid client with a small wrapper over official Client

3.5

  • Rewrite of EFMigrator

3.4

Changed

  • All projects must be Localized now
  • AutoMapper is no longer supported

3.3

Changed

  • Upgrade to .NET Core 2.2 & Newtonsoft.Json 12
  • Switch most of the projects to netcoreapp2.2
  • Embed source in nupkgs and do not publish symbol packages
  • Switch to FluentValidation 8, which results in breaking change: RuleForAsync is now instance method of ContextualValidator
  • Build is now done on Jenkins

3.2

Switch to dockerized build (and new FAKE) Cleanup shared target files and remove LeanCode.Dependencies

3.1

Switch to .NET Core 2.1

3.0

The great versioning

0.3

Migrate to .NET Core 2 Migrate to Razor 2

0.2

Separated CQRS public interfaces/implementations Pipelines

0.1

Initial release with base packages Basic CQRS, domain models, basic infrastructure

0.0

Project initiation, no packages were released.