Skip to content

V2/main - #168

Merged
eneshoxha merged 12 commits into
masterfrom
v2/main
Jan 24, 2026
Merged

V2/main#168
eneshoxha merged 12 commits into
masterfrom
v2/main

Conversation

@eneshoxha

Copy link
Copy Markdown
Contributor

No description provided.

eneshoxha and others added 12 commits October 21, 2025 01:10
Add YAML serialization/deserialization library

Introduced `Cortex.Serialization.Yaml`, a new library for YAML serialization and deserialization. Added `YamlDeserializer` and `YamlSerializer` classes with support for custom naming conventions, type converters, and flexible property handling. Implemented attributes (`YamlIgnoreAttribute`, `YamlPropertyAttribute`) for customization and `YamlException` for error handling.

Added settings classes (`YamlDeserializerSettings`, `YamlSerializerSettings`) to configure behavior. Introduced `INamingConvention` and implementations (e.g., `CamelCaseConvention`, `SnakeCaseConvention`) for property name transformations.

Implemented a YAML parsing system with `Scanner`, `Parser`, and `Emitter` components, along with utility classes for reflection (`CachedTypeInfo`, `PropertyMap`, `TypeInspector`) and string transformations (`StringUtils`). Added `YamlConverterAttribute` for associating custom type converters.
Update package icon and add validation behavior

Replaced `andyX.png` with `cortex.png` as the package icon in the project files, reflecting a branding update. Updated the `<PackageIcon>` property and asset references in `Cortex.Mediator.Behaviors.FluentValidation.csproj`.

Added a new `ValidationCommandBehavior<TCommand>` class in `VoidValidationCommandBehavior.cs`. This class implements `ICommandPipelineBehavior<TCommand>` and introduces command validation using FluentValidation, throwing a `ValidationException` for validation failures.
v2/feature/ #148: Implement ValidationCommandBehavior<TCommand>
Add async support to data store interfaces and refactor

Refactor `IDataStore` into its own file for better modularity.
Introduce `IAsyncDataStore` with async methods like `GetAsync`,
`PutAsync`, and `RemoveAsync`, including `IAsyncEnumerable`
support for .NET Standard 2.1+ and .NET Core 3.0+.

Update `InMemoryStateStore` to implement `IAsyncDataStore`,
adding async methods for key-value operations. Improve input
validation in the constructor.

Reorganize namespaces and add conditional compilation for
framework-specific features. These changes enhance scalability,
modernize the API, and improve maintainability.
v2/feature/ #158: Add Async/Await support
…idation-to-be-used

Feature/164 allow fluentvalidation to be used
Removed the IConfiguration parameter from AddCortexMediator and made the configure parameter non-nullable. This streamlines service registration and eliminates the need to provide a configuration object.
v2.2/bug/161: Refactor AddCortexMediator method signature
@eneshoxha
eneshoxha merged commit c77d910 into master Jan 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants