Releases: buildersoftio/cortex
v2.1.0
Release of version v2.1.0
We are thrilled to announce the 1st release of the second version of Cortex Data Framework, a comprehensive and robust platform designed to redefine how developers approach real-time data streaming, processing, and state management. With this release, Cortex empowers you to build scalable, high-performance, and maintainable data pipelines tailored to diverse use cases.
🎉 What's Changed
- ✨ Cortex.Mediator: Added non-returning ICommand interface (brought back as requested). (#141, #142)
- ✅ Cortex.Mediator: Added validation support (pipeline/behaviors). (#129, #130)
- Cortex.Mediator.Behaviors.FluentValidation: implementation of the FluentValidation validation for Commands and Queries
- 🚀 Streams: Added Key support for Kafka Stream (#127, #131) and Pulsar Stream (#128, #132, #133).
- 🧠 New module: Cortex.Vectors — initial creation and docs. (#107, #134)
- ⚡ Streams: Added EmitAsync alongside Emit. (#102, #143)
- 🐛 Fix: Addressed generic type-argument inference error. (#139)
🔧 Potential breaking changes / upgrade notes
- If you previously used “void/Unit” style commands through workarounds, migrate to the new ICommand (non-returning) interface. Returning commands continue to use ICommand.
- Review mediator validation behaviors if you have custom pipelines to ensure order/registration matches your expectations.
- For Streams using keys, set the key on produce/emit operations to enable partition-aware routing in Kafka/Pulsar.
- Prefer EmitAsync in async pipelines to avoid blocking the caller; Emit remains available for synchronous flows.
📚 Documentation & Examples
Get started quickly with the comprehensive Cortex Documentation. Examples include:
- Setting up pipelines.
- Using windowing for temporal analysis.
- Building custom operators.
🛠 Developer Highlights
1. Simple Stream Builder API:
- Example:
var stream = StreamBuilder<int, int>
.CreateNewStream("MyStream")
.Stream()
.Map(x => x * 2)
.Filter(x => x > 10)
.Sink(Console.WriteLine)
.Build();
stream.Start();2. Dynamic State Stores:
- Use
InMemoryStateStoreorRocksDbStateStorewith a single line of code. - Built-in thread-safety for multi-tenant applications.
3. Customizable Metrics:
Add telemetry to monitor every operator and capture real-time performance metrics.
🚧 Known Issues
- Initial setups may experience minor configuration hurdles with telemetry providers. Please refer to the documentation for troubleshooting.
- Memory usage for large datasets may increase when using in-memory state stores.
💌 Thanks for Being a Part of the Journey
We are excited to see the amazing projects you will build with Cortex Data Framework! Your feedback is invaluable—reach out to us via GitHub Issues or email for support and suggestions.
Stay Connected
Follow our progress and contribute:
GitHub: Cortex Repository
Discussions: Community Forum
Join our community in Discord:
Here’s to building better, faster, and more scalable data-driven applications. 🚀
v1.7.0
Release of version v1.7.0
We are thrilled to announce the 6th major release of the first version of Cortex Data Framework, a comprehensive and robust platform designed to redefine how developers approach real-time data streaming, processing, and state management. With this release, Cortex empowers you to build scalable, high-performance, and maintainable data pipelines tailored to diverse use cases.
🎉 What's Changed
- Make ICommand and ICommandHandler generic (TResult)
- Update IMediator / Mediator to return TResult from commands
- Generalize pipeline & logging behaviors to TResult
CommandPipelineBehaviorLoggingCommandBehavior- add
LoggingQueryBehavior
- add
Common/Unit.csto represent “void” command results - Update DI helpers (
MediatorOptions*,ServiceCollectionExtensions) - README updated
BREAKING CHANGE: All command handlers must now implement ICommandHandler<TCommand, TResult>. For commands that previously returned nothing, return Unit.
📚 Documentation & Examples
Get started quickly with the comprehensive Cortex Documentation. Examples include:
- Setting up pipelines.
- Using windowing for temporal analysis.
- Building custom operators.
🛠 Developer Highlights
1. Simple Stream Builder API:
- Example:
var stream = StreamBuilder<int, int>
.CreateNewStream("MyStream")
.Stream()
.Map(x => x * 2)
.Filter(x => x > 10)
.Sink(Console.WriteLine)
.Build();
stream.Start();2. Dynamic State Stores:
- Use
InMemoryStateStoreorRocksDbStateStorewith a single line of code. - Built-in thread-safety for multi-tenant applications.
3. Customizable Metrics:
Add telemetry to monitor every operator and capture real-time performance metrics.
🚧 Known Issues
- Initial setups may experience minor configuration hurdles with telemetry providers. Please refer to the documentation for troubleshooting.
- Memory usage for large datasets may increase when using in-memory state stores.
💌 Thanks for Being a Part of the Journey
We are excited to see the amazing projects you will build with Cortex Data Framework! Your feedback is invaluable—reach out to us via GitHub Issues or email for support and suggestions.
Stay Connected
Follow our progress and contribute:
GitHub: Cortex Repository
Discussions: Community Forum
Join our community in Discord:
Here’s to building better, faster, and more scalable data-driven applications. 🚀
v1.6.1
Release of version v1.6.1
We are thrilled to announce the fifth major release of the first version of Cortex Data Framework, a comprehensive and robust platform designed to redefine how developers approach real-time data streaming, processing, and state management. With this release, Cortex empowers you to build scalable, high-performance, and maintainable data pipelines tailored to diverse use cases.
🎉 What's Changed
- Add Joins for Stream to Table [Cortex.Streams];
- We have rewritten the entire library to support CQRS [Cortex.Mediator];
- Async Processing for Commands, Queries, and Notifications,
- Add support for Pipelines,
- Add default CommandPipelines,
- Add support for DI
📚 Documentation & Examples
Get started quickly with the comprehensive Cortex Documentation. Examples include:
- Setting up pipelines.
- Using windowing for temporal analysis.
- Building custom operators.
🛠 Developer Highlights
1. Simple Stream Builder API:
- Example:
var stream = StreamBuilder<int, int>
.CreateNewStream("MyStream")
.Stream()
.Map(x => x * 2)
.Filter(x => x > 10)
.Sink(Console.WriteLine)
.Build();
stream.Start();2. Dynamic State Stores:
- Use
InMemoryStateStoreorRocksDbStateStorewith a single line of code. - Built-in thread-safety for multi-tenant applications.
3. Customizable Metrics:
Add telemetry to monitor every operator and capture real-time performance metrics.
🚧 Known Issues
- Initial setups may experience minor configuration hurdles with telemetry providers. Please refer to the documentation for troubleshooting.
- Memory usage for large datasets may increase when using in-memory state stores.
💌 Thanks for Being a Part of the Journey
We are excited to see the amazing projects you will build with Cortex Data Framework! Your feedback is invaluable—reach out to us via GitHub Issues or email for support and suggestions.
Stay Connected
Follow our progress and contribute:
GitHub: Cortex Repository
Discussions: Community Forum
Join our community in Discord:
Here’s to building better, faster, and more scalable data-driven applications. 🚀
v1.6.0
Release of version v1.6.0
We are thrilled to announce the fifth major release of the first version of Cortex Data Framework, a comprehensive and robust platform designed to redefine how developers approach real-time data streaming, processing, and state management. With this release, Cortex empowers you to build scalable, high-performance, and maintainable data pipelines tailored to diverse use cases.
🎉 What's Changed
- Add Joins for Stream to Table [Cortex.Streams];
- We have re-written the entire library for supporting CQRS [Cortex.Mediator];
- Async Processing for Commands, Queries and Notifications,
- Add support for Pipelines,
- Add default CommandPipelines,
- Add support for DI
📚 Documentation & Examples
Get started quickly with the comprehensive Cortex Documentation. Examples include:
- Setting up pipelines.
- Using windowing for temporal analysis.
- Building custom operators.
🛠 Developer Highlights
1. Simple Stream Builder API:
- Example:
var stream = StreamBuilder<int, int>
.CreateNewStream("MyStream")
.Stream()
.Map(x => x * 2)
.Filter(x => x > 10)
.Sink(Console.WriteLine)
.Build();
stream.Start();2. Dynamic State Stores:
- Use
InMemoryStateStoreorRocksDbStateStorewith a single line of code. - Built-in thread-safety for multi-tenant applications.
3. Customizable Metrics:
Add telemetry to monitor every operator and capture real-time performance metrics.
🚧 Known Issues
- Initial setups may experience minor configuration hurdles with telemetry providers. Please refer to the documentation for troubleshooting.
- Memory usage for large datasets may increase when using in-memory state stores.
💌 Thanks for Being a Part of the Journey
We are excited to see the amazing projects you will build with Cortex Data Framework! Your feedback is invaluable—reach out to us via GitHub Issues or email for support and suggestions.
Stay Connected
Follow our progress and contribute:
GitHub: Cortex Repository
Discussions: Community Forum
Join our community in Discord:
Here’s to building better, faster, and more scalable data-driven applications. 🚀
v1.5.0
Release of version v1.5.0
We are thrilled to announce the fifth major release of the first version of Cortex Data Framework, a comprehensive and robust platform designed to redefine how developers approach real-time data streaming, processing, and state management. With this release, Cortex empowers you to build scalable, high-performance, and maintainable data pipelines tailored to diverse use cases.
🎉 What's Changed
- Add CDC Sink Operator for ElasticSearch [Cortex.Streams];
- Add OneOf keyword [Cortex.Types];
- Add AnyOf keyword [Cortex.Types];
- Add AllOf keyword [Cortex.Types];
📚 Documentation & Examples
Get started quickly with the comprehensive Cortex Documentation. Examples include:
- Setting up pipelines.
- Using windowing for temporal analysis.
- Building custom operators.
🛠 Developer Highlights
1. Simple Stream Builder API:
- Example:
var stream = StreamBuilder<int, int>
.CreateNewStream("MyStream")
.Stream()
.Map(x => x * 2)
.Filter(x => x > 10)
.Sink(Console.WriteLine)
.Build();
stream.Start();2. Dynamic State Stores:
- Use
InMemoryStateStoreorRocksDbStateStorewith a single line of code. - Built-in thread-safety for multi-tenant applications.
3. Customizable Metrics:
Add telemetry to monitor every operator and capture real-time performance metrics.
🚧 Known Issues
- Initial setups may experience minor configuration hurdles with telemetry providers. Please refer to the documentation for troubleshooting.
- Memory usage for large datasets may increase when using in-memory state stores.
💌 Thanks for Being a Part of the Journey
We are excited to see the amazing projects you will build with Cortex Data Framework! Your feedback is invaluable—reach out to us via GitHub Issues or email for support and suggestions.
Stay Connected
Follow our progress and contribute:
GitHub: Cortex Repository
Discussions: Community Forum
Join our community in Discord:
Here’s to building better, faster, and more scalable data-driven applications. 🚀
v1.4.0
Release of version v1.4.0
We are thrilled to announce the third major release of the first version of Cortex Data Framework, a comprehensive and robust platform designed to redefine how developers approach real-time data streaming, processing, and state management. With this release, Cortex empowers you to build scalable, high-performance, and maintainable data pipelines tailored to diverse use cases.
🎉 What's Changed
- Add CDC Source Operator for Microsoft Sql Server [Cortex.Streams];
- Add CDC Source Operator for PostgreSQL [Cortex.Streams];
- Add CDC Source Operator for MongoDb [Cortex.Streams];
- Add support for Sqlite [Cortex.States];
📚 Documentation & Examples
Get started quickly with the comprehensive Cortex Documentation. Examples include:
- Setting up pipelines.
- Using windowing for temporal analysis.
- Building custom operators.
🛠 Developer Highlights
1. Simple Stream Builder API:
- Example:
var stream = StreamBuilder<int, int>
.CreateNewStream("MyStream")
.Stream()
.Map(x => x * 2)
.Filter(x => x > 10)
.Sink(Console.WriteLine)
.Build();
stream.Start();2. Dynamic State Stores:
- Use
InMemoryStateStoreorRocksDbStateStorewith a single line of code. - Built-in thread-safety for multi-tenant applications.
3. Customizable Metrics:
Add telemetry to monitor every operator and capture real-time performance metrics.
🚧 Known Issues
- Initial setups may experience minor configuration hurdles with telemetry providers. Please refer to the documentation for troubleshooting.
- Memory usage for large datasets may increase when using in-memory state stores.
💌 Thanks for Being a Part of the Journey
We are excited to see the amazing projects you will build with Cortex Data Framework! Your feedback is invaluable—reach out to us via GitHub Issues or email for support and suggestions.
Stay Connected
Follow our progress and contribute:
GitHub: Cortex Repository
Discussions: Community Forum
Join our community in Discord:
Here’s to building better, faster, and more scalable data-driven applications. 🚀
v1.3.1
Release of version v1.3.1
We are thrilled to announce the third major release of the first version of Cortex Data Framework, a comprehensive and robust platform designed to redefine how developers approach real-time data streaming, processing, and state management. With this release, Cortex empowers you to build scalable, high-performance, and maintainable data pipelines tailored to diverse use cases.
🎉 What's Changed
- Add support for Microsoft Sql Server [Cortex.States];
- Add support for PostgreSQL [Cortex.States];
- Add support for ClickHouse [Cortex.States];
- Add support for MongoDb [Cortex.States];
- Add FlatMap Operator [Cortex.Streams];
- Add HttpSink & Source Operators [Cortex.Streams];
📚 Documentation & Examples
Get started quickly with the comprehensive Cortex Documentation. Examples include:
- Setting up pipelines.
- Using windowing for temporal analysis.
- Building custom operators.
🛠 Developer Highlights
1. Simple Stream Builder API:
- Example:
var stream = StreamBuilder<int, int>
.CreateNewStream("MyStream")
.Stream()
.Map(x => x * 2)
.Filter(x => x > 10)
.Sink(Console.WriteLine)
.Build();
stream.Start();2. Dynamic State Stores:
- Use
InMemoryStateStoreorRocksDbStateStorewith a single line of code. - Built-in thread-safety for multi-tenant applications.
3. Customizable Metrics:
Add telemetry to monitor every operator and capture real-time performance metrics.
🚧 Known Issues
- Initial setups may experience minor configuration hurdles with telemetry providers. Please refer to the documentation for troubleshooting.
- Memory usage for large datasets may increase when using in-memory state stores.
💌 Thanks for Being a Part of the Journey
We are excited to see the amazing projects you will build with Cortex Data Framework! Your feedback is invaluable—reach out to us via GitHub Issues or email for support and suggestions.
Stay Connected
Follow our progress and contribute:
GitHub: Cortex Repository
Discussions: Community Forum
Join our community in Discord:
Here’s to building better, faster, and more scalable data-driven applications. 🚀
v1.3.0
Release of version v1.3.0
We are thrilled to announce the third major release of the first version of Cortex Data Framework, a comprehensive and robust platform designed to redefine how developers approach real-time data streaming, processing, and state management. With this release, Cortex empowers you to build scalable, high-performance, and maintainable data pipelines tailored to diverse use cases.
🎉 What's Changed
- Add support for Microsoft Sql Server [Cortex.States];
- Add support for PostgreSQL [Cortex.States];
- Add support for ClickHouse [Cortex.States];
- Add support for MongoDb [Cortex.States];
- Add FlatMap Operator [Cortex.Streams];
- Add HttpSink & Source Operators [Cortex.Streams];
📚 Documentation & Examples
Get started quickly with the comprehensive Cortex Documentation. Examples include:
- Setting up pipelines.
- Using windowing for temporal analysis.
- Building custom operators.
🛠 Developer Highlights
1. Simple Stream Builder API:
- Example:
var stream = StreamBuilder<int, int>
.CreateNewStream("MyStream")
.Stream()
.Map(x => x * 2)
.Filter(x => x > 10)
.Sink(Console.WriteLine)
.Build();
stream.Start();2. Dynamic State Stores:
- Use
InMemoryStateStoreorRocksDbStateStorewith a single line of code. - Built-in thread-safety for multi-tenant applications.
3. Customizable Metrics:
Add telemetry to monitor every operator and capture real-time performance metrics.
🚧 Known Issues
- Initial setups may experience minor configuration hurdles with telemetry providers. Please refer to the documentation for troubleshooting.
- Memory usage for large datasets may increase when using in-memory state stores.
💌 Thanks for Being a Part of the Journey
We are excited to see the amazing projects you will build with Cortex Data Framework! Your feedback is invaluable—reach out to us via GitHub Issues or email for support and suggestions.
Stay Connected
Follow our progress and contribute:
GitHub: Cortex Repository
Discussions: Community Forum
Join our community in Discord:
Here’s to building better, faster, and more scalable data-driven applications. 🚀
v1.2.1
Release of version v1.2.1
v1.2.0
Release of version v1.2.0
