Releases: DataObjects-NET/dataobjects-net
Releases · DataObjects-NET/dataobjects-net
7.2.0-Beta-2
- [main] Upgrade hints change names of constructors' string parameters for better understanding of what suppose to be in them.
- [main] Improved string operations Trim/TrimStart/TrimEnd support
- [main] Obsolete DomainConfiguration.DefauktForeignKeyMode const removed, the correctly named constant still exists
- [main] Obsolete SqlPersistTask constructors removed
- [main] Obsolete AggregateProvider constructor removed
- [main] Obsolete CalculateProvider constructor removed
- [main] Updated BitFaster.Caching to version 2.5.3
- [firebird] Updated client library to version 10.3.2
- [mysql] SqlDml.NullIf function now correctly translated
- [mysql] Improved support for string.PadLeft/PadRight opertaions
- [mysql] Updated client library to version 8.4.0
- [postgresql] Updated client library to version 9.0.3
- [postgresql] Improved .Milliseconds part translation for types that have the part
- [postgresql] Improved TimeSpan.TotalMilliseconds translation
- [postgresql] AppContext switch "Npgsql.EnableLegacyTimestampBehavior" is turned off if user hasn't set it before Domain build
- [postgresql] Both states of "Npgsql.EnableLegacyTimestampBehavior" AppContext switch are supported
- [postgresql] AppContext switch "Npgsql.DisableDateTimeInfinityConversions" is turned on if user hasn't set it before Domain build
- [postgresql] Supported both states of "Npgsql.DisableDateTimeInfinityConversions" AppContext switch, though "true" is recommended
- [postgresql] When infinity conversions are enabled, extra statements will be applied to certain operations to return expected results
- [postgresql] DateTime values '0001.01.01 00:00:00.00000' and '9999.12.31 23:59:59.99999' will be read as MinValue and MaxValue accordingly
- [postgresql] DateTimeOffset values '0001.01.01 00:00:00.00000+00:00' and '9999.12.31 23:59:59.99999+00:00' will be read as MinValue and MaxValue accordingly
- [postgresql] When legacy timestamp behavior is disabled, connection time zone is applied to DateTimeOffset values if possible, otherwise, to local one
- [postgresql] TimeSpans based on values lower than -9223372036854775800L and higher 92233720368547758xxL will be read as MinValue and MaxValue accordingly
- [postgresql] For PostgreSQL 13+ apply 'trim_scale' function to results of aggregation to improve compatibility with .NET decimal
- [oracle] Updated client library to version 23.7.0
- [sqlite] Fixed string.Lenght translation
- [sqlite] Added support for string.PadLeft/PadRight operations
- [sqlserver] Updated client library to version 5.2.2
7.1.5
- [main] Addressed certain cases of overlaping server-side error by new one when temporary tables are used in query
- [postgresql] Improved .Milliseconds translation for types which have this part
- [postgresql] Improved TimeSpan.TotalMilliseconds translation
- [sqlserver] Database schema objects which are "Microsoft shipped", e.g. created for replication mechanisms, are excluded from extraction
7.1.4
- [main] Addressed IndexOutOfRangeException on translation of certain queries with aggregates
- [main] Notification to BuildLog when a hierarchy changes KeyGeneratorKind value to None
- [postgresql] Added explicit nulls setting for both column order directions to improve OrderBy/OrderByDescending performance
7.1.3
- [main] Addressed race condition issue with TranslatorState.NonVisitableExpressions
- [main] Improved working with nullable enum constants in queries
- [main] Improved compatibility of .ToListAsync/.ToArrayAsync/.ToHashSetAsync/.AsAsyncEnumerable extension methods with EntitySet
- [postgresql] Improved database structucture extraction
- [postgresql] Addressed certain cases of decimal results of aggregate operations being unable to fit to .NET decimal
7.0.6
- [main] Addressed issue of not visiting grouping expression correctly which appeared in previous version
- [mysql] Updated client library package to version 8.0.31
- [postgresql] Updated client library package to version 4.1.14
6.0.14
- [main] Addressed issue of not visiting grouping expression correctly which appeared in previous version
- [main] Addressed certain issues of incorrect query optimization when it contains multiple In() calls
- [main] In addition to previous version, more cases of incorrect join type usage addressed
- [firebird] Updated client library package to version 6.7.0
- [mysql] Updated client library package to version 6.10.9
- [oracle] Updated client library package to version 2.18.151
- [postgresql] Updated Npgsql package to version 4.0.17 which patches some vulnerability issues
- [sqlserver] Updated client library package to version 4.8.6
- [sqlite] Updated client library package to version 1.0.119
7.1.2
- [main] Addressed issue when cycles in Entity dependency graph were not detected
- [main] Introduced DomainConfuguration.ExtensionConfigurations as unified configuration storage for extensions' configurations
- [main] DomainConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
- [localization] LocalizationConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
- [localization] ConfigureLocalizationExtension() extensions for DomainConfiguration are added, check ReadMe/documentation for examples of usage
- [reprocessing] ReprocessingConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
- [reprocessing] ConfigureReprocessingExtension() extensions for DomainConfiguration are added, check ReadMe/documentation for examples of usage
- [security] SecurityConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
- [security] ConfigureSecurityExtension() extensions for DomainConfiguration are added, check ReadMe/documentation for examples of usage
7.0.5
- [main] Some constructors of SqlPersistTask marked Obsolete, new constructors provided
- [main] Some constructors of CalculateProvider marked Obsolete, new constructors provided
- [main] Some constructors of AggregateProvider marked Obsolete, new constructors provided
- [main] Updated BitFaster.Caching package
- [main] Certain optimizations connected to query translation made
6.0.13
- [main] Fixed certain cases of bad translation of casts via 'as' operator in LINQ queries
- [main] Addressed certain issues of translation connected with comparison with local entity instance within LINQ queries
- [main] Fixed rare issues of incorrect translation of filtered index expressions including conditional expressions
- [main] Join/LeftJoin is denied to have the same expression instance for both inner/outer selector
- [main] Addressed issue when wrong type of join was chosen when .First/FirstOrDefalult() method was used as subquery
- [main] Added dedicated exception when RenameFieldHint.TargetType exists in current model but absent in storage model
- [main] Xtensive.Sql.Model.NodeCollection.Add() throws understandable exception in case of duplicate name of item
- [postgresql] Fixed issue of incorrect translation of conditional expressions including comparison with nullable fields
7.2.0 Beta 1
- [main] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [main] Some exceptions' serialization members were marked obsolete in NET8 library
- [main] Unused Xtensive.Collections.PriorityQueue is removed
- [main] Xtensive.Orm.Rse.Providers.Provider.Sources has changed return type to IReadOnlyList, as well as ctor parameter
- [main] SqlInsert.Values became obsolete and no longer in use. Use ValueRows collection to add value rows
- [main] DomainConfiguration.MaxNumberOfConditions is introduced
- [main] SqlDml.Truncate() is introduced.
- [main] WellKnown.MaxNumberOfConditions became obsolete, use new DomainConfiguration.MaxNumberOfConditions if needed
- [main] TypeHelper.GetSingleConstructor() and .GetSingleConstructorOrDefault() are marked obsolete
- [main] Session.DisableSaveChages() methods return null value in more cases. See methods' summaries
- [main] DirectSessionAccessor.OpenSystemLogicOnlyRegion() returns disposable struct instead of IDisposable
- [main] OperationRegistry's Disable/EnableSystemOperationRegistration methods return disposable struct instead of IDisposable
- [main] Temporary tables cleanup now uses TRUNCATE instead of DELETE when possible
- [main] Temporary tables population is increased with multi-row inserts - 256 and 16 items per INSERT
- [main] PersistParameterBinding has new field RowIndex, use it for multi-row inserts if needed
- [main] TemporaryTableDescriptor changed interface to IMultiRecordPersistDescriptor, fully compatible with IPersistDescriptor
- [main] SqlNode.Clone() method now returns SqlNode to take advantage of C# covariant returns and reduce casts overhead
- [main] Xtensive.Orm.Rse.Providers.ProviderVisitor is now generic with type parameter of method results
- [main] Improved exception handling if some appered during asynchronous Session opening
- [main] Fixed some ColumnInfoCollection and NodeCollection leaks
- [main] Overall performance and memory officiency improvements
- [main] Obsolete LockableExtensions.EnsureNotLocked is removed
- [main] Obsolete DomainConfiguration.DefaultVersioningPolicy is removed
- [main] Obsolete TypeInfo methods (GetImplementors(), GetInterfaces(), GetDescendants(), GetAncestors() and GetRoot()) are removed
- [main] Obsolete TypeInfoCollection FindXXX methods are removed
- [main] Obsolete PersistRequest constructor removed
- [main] Obsolete PersistRequestBuilder.CreatePersistRequest() method is removed.
- [main] Obsolete StorageDriver.Compile(ISqlCompileUnit, NodeConfigruation) method is removed
- [main] Obsolete MethodHelper.GetMethod() and .GetConstructor() methods are removed
- [main] Obsolete TypeHelper.GetConstructor() and .GetInterfaces() are removed
- [main] Obsolete SqlCompilerConfiguration.SchemaMapping and .DatabaseMapping properties and constructor are removed
- [main] Obsolete SqlNodeActualizer class is removed
- [main] Obsolete SqlCompilerContext.SqlNodeActualizer property is removed
- [main] Obsolete XtensiveSql.Dml.Extensions.IsNullReference() extension method is removed
- [firebird] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [mysql] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [oracle] QueryInfo.MaxQueryParameterCount actualized, it is 65535 now
- [oracle] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [postgresql] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [postgresql] QueryInfo.MaxQueryParameterCount actualized, it is 65535 now
- [sqlserver] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [sqlite] NET5 is removed from target frameworks, NET7 and NET8 are added instead