Releases: CodeShayk/DataFuse.Net
v3.0.0
DataFuse v3.0.0 Release Notes
Release Date: March 30, 2026
DataFuse v3.0.0 is a major release that introduces the new MongoDB adapter, transform hooks, query result caching, and multi-target framework support. This release also completes the project rebrand from Schemio to DataFuse, which includes breaking namespace and package changes.
New Features
MongoDB Adapter
New DataFuse.Adapters.MongoDB package for aggregating data from MongoDB collections alongside SQL, REST API, and Entity Framework sources.
- Built on MongoDB Driver 3.4.0
- Implements the same query/engine pattern as other adapters
- Register via
.WithEngine(c => new DataFuse.Adapters.MongoDB.QueryEngine(mongoDatabase))
public class ReviewsMongoQuery : MongoQuery<CollectionResult<ReviewResult>>
{
protected override Func<IMongoDatabase, Task<CollectionResult<ReviewResult>>> GetQuery(
IDataContext context, IQueryResult? parentQueryResult)
{
var product = (ProductResult)parentQueryResult;
return async database =>
{
var collection = database.GetCollection<ReviewResult>("reviews");
var reviews = await collection.Find(r => r.ProductId == product.Id).ToListAsync();
return new CollectionResult<ReviewResult>(reviews);
};
}
}Transform Hooks
Pre and post transformation hooks provide fine-grained control over the data transformation pipeline.
- PreTransform hooks execute before a transformation and can cancel it via
context.Cancel() - PostTransform hooks execute after a transformation and can request repetition via
context.Repeat()
Query Result Caching
New CacheResultAttribute allows marking expensive query results for automatic caching to improve performance.
Multi-Target Framework Support
All packages (except EntityFramework) now target multiple frameworks:
netstandard2.1net8.0net9.0net10.0
DataFuse.Adapters.EntityFramework targets net10.0 only (EF Core 10.0 dependency).
Breaking Changes
Project Rename (Schemio to DataFuse)
All namespaces, packages, and registration APIs have been renamed:
| v2.x (Schemio) | v3.0.0 (DataFuse) |
|---|---|
Schemio.Core (contracts) |
DataFuse.Adapters.Abstraction |
Schemio.Core (impl) |
DataFuse.Integration |
Schemio.SQL |
DataFuse.Adapters.SQL |
Schemio.EntityFramework |
DataFuse.Adapters.EntityFramework |
Schemio.API |
DataFuse.Adapters.WebAPI |
DI Registration
// Before (v2.x)
services.UseSchemio(new SchemioOptionsBuilder() ...);
// After (v3.0.0)
services.UseDataFuse(new DataFuseOptionsBuilder() ...);Interface Renames
ISchemioOptions→IDataFuseOptionsSchemioOptionsBuilder→DataFuseOptionsBuilder
NuGet Package Names
All package IDs have changed. Update your package references:
| Old Package | New Package |
|---|---|
Schemio.Core |
DataFuse.Adapters.Abstraction |
Schemio.Core |
DataFuse.Integration |
Schemio.SQL |
DataFuse.Adapters.SQL |
Schemio.EntityFramework |
DataFuse.Adapters.EntityFramework |
Schemio.API |
DataFuse.Adapters.WebAPI |
Migration Guide
- Update NuGet packages to the new
DataFuse.*package names - Update
usingstatements fromSchemio.*namespaces toDataFuse.* - Update DI registration from
UseSchemio()toUseDataFuse()andSchemioOptionsBuildertoDataFuseOptionsBuilder - Update target framework if needed — packages now support
netstandard2.1,net8.0,net9.0, andnet10.0
Packages
| Package | Version | Frameworks |
|---|---|---|
DataFuse.Adapters.Abstraction |
3.0.0 | netstandard2.1, net8.0, net9.0, net10.0 |
DataFuse.Integration |
3.0.0 | netstandard2.1, net8.0, net9.0, net10.0 |
DataFuse.Adapters.SQL |
3.0.0 | netstandard2.1, net8.0, net9.0, net10.0 |
DataFuse.Adapters.EntityFramework |
3.0.0 | net10.0 |
DataFuse.Adapters.WebAPI |
3.0.0 | netstandard2.1, net8.0, net9.0, net10.0 |
DataFuse.Adapters.MongoDB |
3.0.0 | netstandard2.1, net8.0, net9.0, net10.0 |
Repository
- GitHub: CodeShayk/DataFuse.Net
v2.1.0
Release Notes
Changes in Schemio.Core - Targets .Net Framework 4.6.2; .Net Standards 2.0 & 2.1; .Net 9.0.
- Provides support for Pre and Post transform hooks.
Changes in Schemio.SQL - Targets .Net Framework 4.6.2; .Net Standards 2.1; .Net 9.0.
- Provides support for Pre and Post transform hooks.
Changes in Schemio.EntityFramework - Targets .Net 9.0.
- Provides support for Pre and Post transform hooks.
Changes in Schemio.API - Targets .Net Framework 4.6.2; .Net Standards 2.0 & 2.1; .Net 9.0.
- Provides support for Pre and Post transform hooks.
Developer Guide
Important: Please see Developer Guide here for more details.
v2.0.1
Release Notes
Changes in Schemio.Core - Targets .Net Framework 4.6.2; .Net Standards 2.0 & 2.1; .Net 9.0.
Entity Schemarenamed toEntity Configurationand requires implementingEntityContfiguration<TEntity>.IRootQuery,IChildQuery,BaseRootQuery<TParameter, TResult>&BaseChildQuery<TParameter,TResult>removed.- Both Parent and child queries need to implement
BaseQuery<TResult>and provide override forisContextResolved()andResolveQuery()methods. IoCregistration streamlined withfluent interfacefor container configuration.- Renamed
IEntityContexttoIEntityRequest.
Changes in Schemio.SQL - Targets .Net Framework 4.6.2; .Net Standards 2.1; .Net 9.0.
BaseSQLRootQuery<TParameter, TResult>&BaseSQLChildQuery<TParameter, TResult>removed.- Need to implement from
SQLQuery<TResult>and provide override forGetQuery()method to implement both parent and child queries.
Changes in Schemio.EntityFramework - Targets .Net 9.0.
BaseSQLRootQuery<TParameter, TResult>&BaseSQLChildQuery<TParameter, TResult>removed.- Need to implement from
SQLQuery<TResult>and provide override forGetQuery()method to implement both parent and child queries.
Changes in Schemio.API - Targets .Net Framework 4.6.2; .Net Standards 2.0 & 2.1; .Net 9.0.
- Supports querying using
web apis - Provides
HttpClientQuery Engine.
Developer Guide
Important: Please see v2.0.0 Developer Guide here for more details.
v2.0.0
Release Notes
- Targets .Net 9.0.
- Breaking changes to
Schemio.Core- Please see below. - Breaking changes to
Schemio.SQL- Please see below. - Breaking changes to
Schemio.EntityFramework- Please see below. - Added new
Schemio.APIpackage for supporting web APIs.
Changes in Schemio.Core
Entity Schemarenamed toEntity Configurationand requires implementingEntityContfiguration<TEntity>.IRootQuery,IChildQuery,BaseRootQuery<TParameter, TResult>&BaseChildQuery<TParameter,TResult>removed.- Both Parent and child queries need to implement
BaseQuery<TResult>and provide override forisContextResolved()andResolveQuery()methods. IoCregistration streamlined withfluent interfacefor container configuration.- Renamed
IEntityContexttoIEntityRequest.
Changes in Schemio.SQL & Schemio.EntityFramework
BaseSQLRootQuery<TParameter, TResult>&BaseSQLChildQuery<TParameter, TResult>removed.- Need to implement from
SQLQuery<TResult>and provide override forGetQuery()method to implement both parent and child queries.
New Schemio.API for Http web queries.
- Supports querying using
web apis - Provides
HttpClientQuery Engine.
Developer Guide
Important: Please see v2.0.0 Developer Guide here for more details.
v1.0.0
Release Notes
- Targets .Net 8.0
Schemio.Core - Provides core functionality to configure nested queries and transformers. With ability to map schema paths (XPath/JSONPath) to entity's object graph. No QueryEngine provided and requires implementing IQueryEngine to execute IQuery instances.
Release provides core functionality :-
- IQueryEngine to implement custome query engine
- BaseRootQuery<> & BaseChildQuery to implement parent/child queries.
- BaseTransformere<> to implement transformer class.
- ISchemaPathMatcher to implement custom schema language for mapping object graphs.
Schemio.SQL - Provides schemio with query engine using Dapper to execute SQL queries.
Release provides :-
- BaseRootSQLQuery<> & BaseChildSQLQuery to implement parent/child dapper queries.
- QueryEngine with dapper SQL query execution support.
Schemio.EntityFramework - Provides schemio with query engine using Entity Framework to execute SQL queries.
Release provides :-
- BaseRootSQLQuery<> & BaseChildSQLQuery to implement parent/child entity framework queries.
- QueryEngine with Entity Framework SQL query execution using DbContext.