All Versions
14
Latest Version
Avg Release Cycle
25 days
Latest Release
253 days ago

Changelog History
Page 1

  • v1.12.4 Changes

    October 03, 2020

    ๐Ÿš€ This release as supported the CancellationToken as a response to #343. It affects all the supported different DB Provider packages.

    Thank you @SergerGood for opening and pushing this feature for us to work with.

  • v1.12.3 Changes

    October 01, 2020

    ๐Ÿš€ This release is the more stable and more mature than the original v1.12.0. Various issues and requests has been pushed on the last minor releases.

    RepoDB (v1.12.3)

    • ๐Ÿ› Bug: Behavior change from previous versions prior v1.12.0 #602
    • ๐Ÿ› Bug: Async fetch operations are not using the DbDataReader.ReadAsync method (in v1.12.0 to v1.12.2) #601

    RepoDB (v1.12.2)

    • ๐Ÿ› Bug: A NullReferenceException Is Thrown for NULL Query Expression #600

    RepoDB (v1.12.1)

  • v1.12.1 Changes

    September 27, 2020

    RepoDB (v1.12.1)

    Credits

    • Thanks @Swoorup for being so collaborative here specially for your post-request on the bug #595.
  • v1.12.0 Changes

    September 24, 2020

    ๐Ÿš€ Release Notes

    ๐Ÿš€ The version 1.12.0 / v1.1.0 (extensions) are one of the biggest release of RepoDB. It contains the various updates (i.e. Features, Capabilities, and Request from the Community).

    • ๐Ÿ‘ Complete Support to F#
    • Class Handler
    • โœจ Enhanced Compiler
    • Anonymous Type / ExpandoObject / IDictionary<string, object>
    • Immutable Classes
    • Table-Based Fluent Calls
    • Complete Exposure of the fields argument
    • ๐Ÿ‘Œ Support to .NET CLR Typed Result Execution
    • ๐Ÿ‘Œ Support to Table-Valued Parameters (TVP)

    Credits

    Thank you to our contributors and to all the collaborators.

    Contributors

    Collaborators

    RepoDB (Core) (v1.12.0)

    • Complete support to F# programming language as requested by the F# Community. Thank you to Isaac Abraham and Angel Munoz for being so collaborative.
    • Request: F# - Consider the Anonymous Types in the Query and QueryAll operation #536.
    • ๐Ÿ› Bug: QueryAsync with empty QueryField list throws SQL exception #498.
    • ๐Ÿ› Bug: IPropertyHandler not being called #514
    • ๐Ÿ› Bug: Property mapping fails with Turkish locale #502
    • ๐Ÿ› Bug: Non-query statements are not taking into account SQL Server table hints #533.
    • ๐Ÿ› Bug: Async methods use synchronous calls #589
    • ๐Ÿ”‹ Feature: Introduce the ClassHandler Support #524
    • ๐Ÿ†• Feature: Support to Enumerable Scalar Values #538 - NEW
    • โšก๏ธ Request: Completely expose the fields argument in the BatchQuery, Query, Insert, Merge and Update operations (and all its Batch operations). #523
    • Request: Add caching for ExecuteQuery and ExecuteQuery<TEntity> #522
    • ๐Ÿ’ฅ Request: Adds an overloaded method for QueryAll<TEntity> operation that takes the tableName parameter. #521 - BREAKING
    • Request: Add caching for ExecuteQuery and ExecuteQuery<TEntity> #522
    • ๐Ÿšš Request: Add the 'isMoveToNextResult' argument to the QueryMultipleExtractor (Extract and Scalar) methods #591
    • ๐Ÿ‘ Request: Support the Immutable Entities #465
    • ๐Ÿ”ง Question: Question on how to properly configure type mapping for FSharp Option types #483
    • Question: Specific Columns in Query<TEntity> #545
    • โœจ Enhancement: Use the Identity field if the Primary field is not available during the Query, Delete and Update operations.
    • ๐Ÿ’ฅ Refactoring: Enhance the coding in the Core Compiler #479. BREAKING
    • โœจ Enhancement: Complete support to the Fluent named-based operation #499.
    • โœจ Enhancement: Replaces the usage of IsNullOrEmpty to IsNullOrWhiteSpace.
    • โœจ Enhancement: Replaces the usage of ToLower() to ToLowerInvariant().
    • โœจ Enhancement: Replaces the usage of string equality to string.Equals(value1, value2, StringComparer.OrdinalIgnoreCase).
    • โœจ Enhancement: Added the Async methods in the compiler. #482 #477
    • โœจ Enhancement: Add the dynamic ExecuteQuery method in the DbRepository. #517
    • ๐Ÿ’ฅ Enhancement: Renamed the whereOrPrimaryKey argument to what to extend the support to both (data entity object, dynamic/object expression, primary key and identity key), to further support the F# community. BREAKING
    • โœจ Enhancement: Updated the QueryGroup.Parse() method to be an argument-typed-based method.
    • โœจ Enhancement: Refactored and optimized the Parse method of the QueryField and QueryGroup objects.
    • โœจ Enhancement: Refactor the Table-Based Calls to return IEnumerable<ExpandoObject> instead of IEnumerable<dynamics>. #540
    • โœจ Enhancement: Consider supporting the execution of the TVP in SQL Server. #566
    • โœจ Enhancement: Support for returning IDictionary<string, object> instead of ExpandoObject. #537
    • โœจ Enhancement: Re-assess if the IsAssignableFrom can be used over the customized IsInterfacedTo. #469
    • โœจ Enhancement: Handle the Exception Handling of the Serialization/Deserialization process of the ClassHandler that is connected to a different Data Entity #539
    • ๐Ÿ’ฅ Refactoring: Make all the cacheItemExpiration arguments nullable. BREAKING
    • โ™ป๏ธ Refactoring: Make the BaseRepository and DbRepository objects CacheItemExpiration property nullable.
    • โ™ป๏ธ Refactoring: Make the CacheItem object CacheItemExpiration property nullable.
    • โœ… Test: Added the Integration Tests for the NonKeyedTable.
    • โœ… Integration Tests: Added more Integration Tests for the DbType Map Attribute (includes SQL Server, PostgreSQL and MySQL).
    • โž• Added the KeyFieldNotFoundException, MissingQualifierFieldsException and the IdentityFieldNotFoundException.
    • โž• Added the <TEntity>(TableName) methods to the BatchQuery operation.
    • โž• Added the <TEntity>(TableName) methods to the Query and QueryAll operations.
    • โž• Added the <TEntity>(TableName) methods to the Delete and DeleteAll operations.
    • โž• Added the <TEntity>(TableName) methods to the Insert and InsertAll operations.
    • โž• Added the <TEntity>(TableName) methods to the Merge and MergeAll operations.
    • โž• Added the <TEntity>(TableName) methods to the Update and UpdateAll operations.
    • โž• Added the <TEntity, TResult> methods to the Average and AverageAll operations.
    • โž• Added the <TEntity, TResult> methods to the Max and MaxAll operations.
    • โž• Added the <TEntity, TResult> methods to the Min and MinAll operations.
    • โž• Added the <TEntity, TResult> methods to the Sum and SumAll operations.
    • โž• Added the execution context provider internal classes for the Insert, Merge, Update, internal class for the InsertAll, MergeAll and UpdateAlloperations.

    RepoDb.SqlServer (v1.1.0)

    • Complete support to F# programming language as requested by the F# Community. Thank you to Isaac Abraham and Angel Munoz for being so collaborative.
    • ๐Ÿ’ฅ Breaking: Introduced the fields argument to the fetch (i.e.: Query, ExecuteQuery and BatchQuery) and push (i.e.: Insert, Merge and Update) operations.
    • ๐Ÿ’ฅ Breaking: Introduced the tableName argument to all entity based operations. This completely resolves the F# anonymous invocations.
    • ๐Ÿ’ฅ Breaking: Renamed of argument whereOrPrimaryKey to what.
    • ๐Ÿ‘ Enhacement: Complete support to the immutable classes and/or types.
    • โ™ป๏ธ Refactoring: Refactored the compiler implementations by simplifying the code from Monolithic to Smaller/Shorter/Cleaner code.
    • ๐Ÿ”‹ Feature: Introduced the support to the Class Handler.
    • โœ… Test: More coverage of Integration Tests and Unit Tests.
    • ๐Ÿš€ Referenced the version RepoDb.Core (v1.12.0).

    RepoDb.SqlServer.BulkOperations (v1.1.0)

    • Complete support to F# programming language as requested by the F# Community. Thank you to Isaac Abraham and Angel Munoz for being so collaborative.
    • ๐Ÿ’ฅ Breaking: Introduced the fields argument to the fetch (i.e.: Query, ExecuteQuery and BatchQuery) and push (i.e.: Insert, Merge and Update) operations.
    • ๐Ÿ’ฅ Breaking: Introduced the tableName argument to all entity based operations. This completely resolves the F# anonymous invocations.
    • ๐Ÿ’ฅ Breaking: Renamed of argument whereOrPrimaryKey to what.
    • ๐Ÿ‘ Enhacement: Complete support to the immutable classes and/or types.
    • โ™ป๏ธ Refactoring: Refactored the compiler implementations by simplifying the code from Monolithic to Smaller/Shorter/Cleaner code.
    • ๐Ÿ”‹ Feature: Introduced the support to the Class Handler.
    • โœ… Test: More coverage of Integration Tests and Unit Tests.
    • ๐Ÿš€ Referenced the version RepoDb.Core (v1.12.0).
    • ๐Ÿš€ Referenced the version RepoDb.SqlServer (v1.1.0).

    RepoDb.SqLite (v1.1.0)

    • Complete support to F# programming language as requested by the F# Community. Thank you to Isaac Abraham and Angel Munoz for being so collaborative.
    • ๐Ÿ› Bug: Sqlite: Guids not working in where query #593
    • ๐Ÿ› Bug: SqLite: Replace the INSERT OR REPLACE with INSERT/UPDATE statement. #558
    • ๐Ÿ› Bug: Inserting only specific columns does not work on SQLite #568
    • ๐Ÿ’ฅ Breaking: Introduced the fields argument to the fetch (i.e.: Query, ExecuteQuery and BatchQuery) and push (i.e.: Insert, Merge and Update) operations.
    • ๐Ÿ’ฅ Breaking: Introduced the tableName argument to all entity based operations. This completely resolves the F# anonymous invocations.
    • ๐Ÿ’ฅ Breaking: Renamed of argument whereOrPrimaryKey to what.
    • ๐Ÿ‘ Enhacement: Complete support to the immutable classes and/or types.
    • โ™ป๏ธ Refactoring: Refactored the compiler implementations by simplifying the code from Monolithic to Smaller/Shorter/Cleaner code.
    • ๐Ÿ”‹ Feature: Introduced the support to the Class Handler.
    • โœ… Test: More coverage of Integration Tests and Unit Tests.
    • ๐Ÿš€ Referenced the version RepoDb.Core (v1.12.0).

    RepoDb.MySql / RepoDb.MySqlConnector (v1.1.0)

    • Complete support to F# programming language as requested by the F# Community. Thank you to Isaac Abraham and Angel Munoz for being so collaborative.
    • ๐Ÿ’ฅ Breaking: Introduced the fields argument to the fetch (i.e.: Query, ExecuteQuery and BatchQuery) and push (i.e.: Insert, Merge and Update) operations.
    • ๐Ÿ’ฅ Breaking: Introduced the tableName argument to all entity based operations. This completely resolves the F# anonymous invocations.
    • ๐Ÿ’ฅ Breaking: Renamed of argument whereOrPrimaryKey to what.
    • ๐Ÿ‘ Enhacement: Complete support to the immutable classes and/or types.
    • โ™ป๏ธ Refactoring: Refactored the compiler implementations by simplifying the code from Monolithic to Smaller/Shorter/Cleaner code.
    • ๐Ÿ”‹ Feature: Introduced the support to the Class Handler.
    • โœ… Test: More coverage of Integration Tests and Unit Tests.
    • ๐Ÿš€ Referenced the version RepoDb.Core (v1.12.0).

    RepoDb.PostgreSql (v1.1.0)

    • Complete support to F# programming language as requested by the F# Community. Thank you to Isaac Abraham and Angel Munoz for being so collaborative.
    • ๐Ÿ’ฅ Breaking: Introduced the fields argument to the fetch (i.e.: Query, ExecuteQuery and BatchQuery) and push (i.e.: Insert, Merge and Update) operations.
    • ๐Ÿ’ฅ Breaking: Introduced the tableName argument to all entity based operations. This completely resolves the F# anonymous invocations.
    • ๐Ÿ’ฅ Breaking: Renamed of argument whereOrPrimaryKey to what.
    • ๐Ÿ‘ Enhacement: Complete support to the immutable classes and/or types.
    • โœจ Enhancement: PostgreSQL - Add the RESTART IDENTITY in the Truncate operation. #563
    • โ™ป๏ธ Refactoring: Refactored the compiler implementations by simplifying the code from Monolithic to Smaller/Shorter/Cleaner code.
    • ๐Ÿ”‹ Feature: Introduced the support to the Class Handler.
    • โœ… Test: More coverage of Integration Tests and Unit Tests.
    • ๐Ÿš€ Referenced the version RepoDb.Core (v1.12.0).

    Closing Note

    ๐Ÿš€ This release comes with a blog that can be found here.

  • v1.11.6 Changes

    August 02, 2020

    RepoDb (v1.11.6)

    • โ™ป๏ธ Code optimizations and XML comments refactoring.
    • ๐Ÿ› Bug: NullReferenceException occurs when InsertAllAsync is executed on Connection that belongs to TransactionScope. #490
    • ๐Ÿ› Bug: Typed UpdateAsync fails for composite key table #493
    • ๐Ÿ› Bug: RepoDb does not seem to work for SQL Server tables with dot in the name #492
    • โœจ Enhancement: Remove the SchemaSeparator property from the IDbSetting interface #475
    • โœจ Enhancement: Using async DbFieldCache #481
    • โœจ Enhancement: Add a SessionId property in the TraceLog class. #484
    • โœจ Enhancement: Refactor the usage of Count() and ElementAt().
    • Request: Enable the Enumerable when calling the operations with IN operation. #495
    • ๐Ÿšš Obsolete: Completely removed the PropertyTypeHandlerMapper class.
    • ๐Ÿšš Obsolete: Completely removed the TypeMapper.Map() method.
    • ๐Ÿšš Obsolete: Completely removed the TypeMapper.Unmap() method.
    • ๐Ÿšš Obsolete: Completely removed the TypeMapper.ConversionType property.
    • โž• Added some micro optimizations #476
    • โž• Added a DataEntityReader.Connection property.
    • โž• Added a DataEntityReader.Transaction property.
    • โž• Added a DataEntityReader.Initialize method
    • โž• Added a DataEntityReader.InitializeAsync() method.

    RepoDb.SqlServer (v1.0.13)

    • ๐Ÿ› Bug: NullReferenceException occurs when InsertAllAsync is executed on Connection that belongs to TransactionScope. #490
    • โœจ Enhancement: Remove the SchemaSeparator property from the IDbSetting interface #475
    • โœจ Enhancement: Refactor the usage of Count() and ElementAt().
    • ๐Ÿ› Bug: RepoDb does not seem to work for SQL Server tables with dot in the name #492

    RepoDb.SqlServer.BulkOperations (v1.0.14)

    • โœจ Enhancement: Async all the way #477
    • โœจ Enhancement: Refactor the usage of Count() and ElementAt().

    RepoDb.SqLite (v1.0.15)

    • โšก๏ธ Updated the underlying driver from System.Data.SQLite to Microsoft.Data.Sqlite.Core.
    • ๐Ÿšš Request: RepoDb.SqLite remove dependency on EntityFramework #486
    • ๐Ÿ› Bug: NullReferenceException occurs when InsertAllAsync is executed on Connection that belongs to TransactionScope. #490
    • โœจ Enhancement: Remove the SchemaSeparator property from the IDbSetting interface #475
    • โœจ Enhancement: Refactor the usage of Count() and ElementAt().

    RepoDb.MySql (v1.0.15)

    • ๐Ÿ› Bug: NullReferenceException occurs when InsertAllAsync is executed on Connection that belongs to TransactionScope. #490
    • โœจ Enhancement: Remove the SchemaSeparator property from the IDbSetting interface #475
    • โœจ Enhancement: Refactor the usage of Count() and ElementAt().
    • โฌ†๏ธ Upgraded the driver version of MySql.Data to v8.0.21

    RepoDb.MySqlConnector (v1.0.4)

    • ๐Ÿ› Bug: NullReferenceException occurs when InsertAllAsync is executed on Connection that belongs to TransactionScope. #490
    • โœจ Enhancement: Remove the SchemaSeparator property from the IDbSetting interface #475
    • โœจ Enhancement: Refactor the usage of Count() and ElementAt().

    RepoDb.PostgreSql (v1.0.12)

    • ๐Ÿ› Bug: NullReferenceException occurs when InsertAllAsync is executed on Connection that belongs to TransactionScope. #490
    • โœจ Enhancement: Remove the SchemaSeparator property from the IDbSetting interface #475
    • โœจ Enhancement: Refactor the usage of Count() and ElementAt().

    Credits

  • v1.11.4 Changes

    July 11, 2020

    RepoDb (v1.11.4)

    • ๐Ÿ› Bug: Table schema is ignored for the identical table names #456
    • ๐Ÿ› Bug: Regression Issue #457
    • ๐Ÿ› Bug: Table Attribute Potential Bug #464
    • ๐Ÿ› Bug?: SqlException: Incorrect syntax near ')' #463
    • ๐Ÿ“š Updated the XML documentations of the cache argument for both Query and QueryAll operations.

    RepoDb.SqlServer (v1.0.11)

    • โšก๏ธ Updated the version of Microsoft.Data.SqlClient into v2.0.0.
    • ๐Ÿ› Bug: table schema are ignored #456
    • ๐Ÿš€ Referenced the version RepoDb.Core (v1.11.4).

    RepoDb.SqlServer.BulkOperations (v1.0.12-beta1)

    • โœจ Enhancement: Support commandTimeout parameter in Bulk Operations #466.
    • ๐Ÿš€ Referenced the version RepoDb.SqlServer (v1.0.11)

    RepoDb.SqLite (v1.0.13)

    • ๐Ÿš€ Referenced the version RepoDb.Core (v1.11.4).
    • โฌ†๏ธ Upgraded the reference of System.Data.SQLite version 1.0.113.1.

    RepoDb.MySql (v1.0.13)

    RepoDb.PostgreSql (v1.0.10)

    • ๐Ÿš€ Referenced the version RepoDb.Core (v1.11.4).
    • โฌ†๏ธ Upgraded the reference of Npgsql version 4.1.3.1.
  • v1.11.3 Changes

    June 06, 2020

    RepoDb (v1.11.3)

    • ๐Ÿ“œ Community Request: Enhancement: Enable Field class to Parse the Expression for Multiple Properties #453
    • โœจ Enhancement: Set the return type Field.Parse<T>() to IEnumerable<Field> (instead of Field).
    • โž• Added more Unit Tests on Field class parsing method.
    • โœ‚ Removed the BeforeBulkInsert and AfterBulkInsert from the ITrace interface.
    • Made the CancellableTraceLog class non-sealed, and also, exposed the constructor.
    • โž• Added an overload method for the Merge, MergeAll and UpdateAll operations that accepts the expression for the qualifiers argument.

    RepoDb.MySql (v1.0.12)

    RepoDb.MySqlConnector (v1.0.1)

    RepoDb.PostgreSql (v1.0.9)

    RepoDb.SqLite (v1.0.12)

    RepoDb.SqlServer (v1.0.10)

    RepoDb.SqlServer.BulkOperations (v1.0.11)

  • v1.11.2 Changes

    May 23, 2020

    RepoDb (v1.11.2)

    • ๐Ÿ› Bug: [SQL Server 2019] RepoDb truncates strings of "Text" types #444
    • ๐Ÿ‘ป Request: [SQL Server] Provide better exception message when table mapping is wrong #443

    RepoDb.SqlServer (v1.0.9)

    RepoDb.SqlServer.BulkOperations (v1.0.8)

    RepoDb.PostgreSql (v1.0.8)

    RepoDb.MySql (v1.0.11)

    RepoDb.SqLite (v1.0.11)

    Credits to Contributors

    • ๐Ÿ‘ @cwaldron - for enabling the Key, Table and Column attribute supports.
    • @davidrot - for issuing a fix on the PropertyHandlers triggering bugs.
    • @fake-fur - for fixing the conflicting database field generation at MySql.
    • ๐Ÿ“š @GeeWee - for fixing some snippets in the documentation and by linking in our README.

    Thank you for your contributions!

  • v1.11.1 Changes

    May 21, 2020

    RepoDb (v1.11.1)

    • ๐Ÿ› Bug: The property handler mapping via FluentMapper or PropertyHandlerMapper is not being triggered. #438
    • ๐Ÿ‘ Requests: Support for Table attribute #360
    • Optimization: Transfer the logic of ClassProperty into various mappers.
    • Optimization: Added an IResolver interface that does not require an input argument.
    • ๐Ÿ› Bug: The property handler mapping via FluentMapper or PropertyHandlerMapper is not being triggered. #438
    • ๐Ÿ› Bug: No coercion operator is defined between types System.String and System.Guid. #437
    • โž• Added an extensive Integration Tests for Property Handler Implicit Mapping.
    • โž• Added an extensive Unit and Integration Tests for Key, Column and Table attributes support. #435
    • โž• Added more Unit Tests for Key/Primary and Table/Column/Map collisions. #435
    • โž• Added the GetTypeMapAttribute(), GetPropertyHandler(), GetPropertyHandlerAttribute() methods in the ClassProperty class.
    • โž• Added the PrimaryResolver to resolve the primary ClassProperty of the data entity type.
    • โž• Added the IdentityResolver to resolve the identity ClassProperty of the data entity type.
    • โž• Added the ClassMappedNameResolver to resolve the database object name mapping of the data entity type.
    • โž• Added the PropertyMappedNameResolver to resolve the cached column name mappings of the property.
    • โž• Added both the TypeMapPropertyLevelResolver and TypeMapTypeLevelResolver classes to resolve the equivalent DbType object of both the property and .NET CLR type.
    • โž• Added both the PropertyHandlerPropertyLevelResolver and PropertyHandlerTypeLevelResolver classes to resolve the equivalent property handler of both the property and .NET CLR type.
    • โž• Added the entityType argument in the DbCommandExtensions.CreateParameters() method.

    RepoDb.SqlServer (v1.0.8)

    RepoDb.SqlServer.BulkOperations (v1.0.7)

    RepoDb.SqLite (v1.0.10)

    • ๐Ÿš€ Referenced the version RepoDb.Core (v1.11.1).
    • โฌ†๏ธ Upgraded the reference of System.Data.SQLite version 1.0.112.2.

    RepoDb.MySql (v1.0.10)

    RepoDb.PostgreSql (v1.0.7)

    • ๐Ÿš€ Referenced the version RepoDb.Core (v1.11.1).
    • ๐Ÿ› Bug: (Direct Reports) Fixed the issue at DeleteAll() via primary keys if the items is beyond 2100.
    • ๐ŸŽ Performance: Reverted the value of Constant.DefaultBatchOperationSize into 10.

    Credits to Contributors

    • ๐Ÿ‘ @cwaldron - for enabling the Key, Table and Column attribute supports.
    • @fake-fur - for fixing the conflicting database field generation at MySql.

    Thank you for your contributions!

  • v1.10.11 Changes

    April 08, 2020

    RepoDb (v1.10.11):

    ๐Ÿ”— Links:

    ๐Ÿš€ You can visit the releases here.