diff Source/Doc/ChangeLog.txt @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/Doc/ChangeLog.txt	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,299 @@
+v 4.1
+
+Enhancement
+
+- New Linq converter.
+- New InsertOrUpdate method.
+
+
+v 4.0
+
+Enhancement
+
+- No more .NET Framework 2.0 support.
+- T4 Templates for Sybase, MS SQL Server, MySql, and PostgreSQL.
+- Linq over WCF.
+- Silverlight support.
+- New attributes TableFunction & TableExpression to support table-valued UDF, hints,
+  and other around table decorations.
+- Linq DML support.
+
+
+v 3.2
+
+Demo (see the dev version of the project)
+
+- Linq.Demo.
+- WebServices powered by BLToolkit.
+- Partial.Trust demo.
+
+Bug fixes
+
+- Extension assemblies are ignored in TypeFactory.GetType(type).
+- Default parameter values were ignored by OverloadAspectBuilder.
+- [Parameter(null)] wasn't setting Nullable<> and EditableValue<Nullable<>> values to null
+- DefaultTypeBuilder throwing exception if [Parameter(value)] was used on
+  EditableValue<Nullable<>> generated properties when Nullable<> did have appropriate
+  constructor accepting value type
+- DateTimeOffset wasn't handled in DataReaderMapper correctly.
+
+Enhancement
+
+- Linq provider for supported databases.
+- New Object to Object mapping. See ExpressionMapper.
+- PostgreSQL Data Provider added.
+- Informix Data Provider added.
+- DB2 Data Provider added.
+- New SqlIgnore attribute.
+- New SqlBuilder class.
+- Partial trust support.
+- Mapping to/from private classes (FW 3.x only).
+- New ParamTypeName attribute for SqlServer2008 table-type parameter support (FW 3.x only).
+- EditableArrayList & BindingListImpl implements INotifyCollectionChanged interface.
+
+
+v 3.1
+
+Bug fixes
+
+- MapValueAttribute ignored for nullable enums.
+- MappingSchema.ConvertChangeType does not handle nullable enums properly.
+- EditableArrayList indexer add/remove bug.
+- ParameterAttribute doesn't work with Nullabe<T> and EditableValue<T>
+  when 'T' constructor is not trivial.
+- BindingListImpl.AddNew does not fire ListChanged event.
+- Some inner types are missing in ObjectMappes, some included w/o reason.
+- Setter for ObjectBinder.ItemType fires OnListChanged event before the list changes.
+- Convert<To,From> does not handle `Nullable<To>' from scalar `From' case.
+- EditableXmlDocument fires PropertyChanged event before an xml node changes.
+
+Enhancement
+
+- CHM help file provided. See the Doc folder.
+- New InstanceCache attribute.
+- DataAccessor support for IEnumerable<T>.
+- Multiple duck. See DuckTyping.Aggregate methods.
+- New Overload aspect.
+- Own configuration section.
+- TypeFactory.GetType() is public now.
+- Simplified GenerateAttributeAttribute usage.
+
+
+v 3.0
+
+Breaking changes
+
+- No more support for .Net 1.1 Framework.
+
+Bug fixes
+
+- EmitHelper.ldc_i4_ emits wrong opcode for numbers from 128 till 255 (bug in msdn)
+- Some opcodes were not implemented.
+- MappingSchema.MapResultSets fails with NullReferenceException when no data returned.
+- Nullable enums were not handled properly.
+- BindingList.GetItemSortedPosition() returns wrong index for an item at end of the list.
+- Fixed AsyncAspect and other type builders compatibility.
+- DbMananger.DiscoverSpParameters fires both OpenConnection and CloseConnection events.
+
+Enhancement
+
+- DateTimeOffset type support.
+- MemberAccessor.CloneValue to avoid boxing.
+- Named arguments support for GenerateAttributeTypeBuilder.
+- Extended support for IsNull & Nullable types in MemberAccessor.
+- Support for enum values in EmitHelper.LoadWellKnownValue/LoadInitValue and so on.
+- Generic GetValue/SetValue methods for ValueHolders.
+- Different projects to support FW 2.0 & FW 3.5.
+- LinqMetadataProvider to support Linq To SQL attributes.
+- Relocated MetadataProvider's to BLToolkit.Reflection namespace.
+- New DbManager ctors to support manual/custom configuration.
+- Ability to configure SqlQueryAttribute dynamically.
+- Assembly is signed.
+- New ActualTypeAttribute to associate DataAccessor's object type and its implementation.
+- New AutoImplementInterfaceAttribute to automatically generate interface implementation.
+- New TypeAccessor.AssociateType method and TypeAccessor.AssociatedTypeHandler event
+  to control interface/type implementation.
+- DataException now has the 'Number' property.
+- New ClearCache aspect.
+
+
+v 2.0.7
+
+Bug fixes
+
+- Oracle/Odp does not handle colon (':') in ConvertType.ParameterToName.
+- Property change builder will use op_Inequality operation if it is available to compare
+  property values.
+- DbManager.ExecuteList<T>(params object[]) add an extra typeof(T)
+- EditableObject.Clone does reference cloning of its inner objects.
+- EditableObject.Clone does not track dirty state of its members.
+- Generated assembly name ends with '.dll'.
+  As a result, System.Reflection.Assembly.Load() tries to load 'SomeAssembly.dll.DLL'
+  and fails.
+- Oracle treat '\r' as an invalid character.
+- DataAccessorBuilder calls DbProvider.Convert(NameToParameter) for text query
+  parameters.
+- SqlQueryBase.GetKeyFieldList was incorrectly marked as public.
+- TypeAccessorBuilder fails to build a getter/setter if base method is protected.
+- EditableXmlDocument fails to reject changes if there was an attribute insertion or
+  deletion.
+
+Enhancement
+
+- FdpDataProvider.QuoteIdentifiers option for FB data provier.
+- GenerateAtribute attribute to specify any custom attribute for a generated type or
+  member.
+- SQLite data provider.
+- DeriveParameters implemented for MsAccess data provider.
+- XmlIncludeAbstractAttribute to simplify the xml serialization of a BLToolkit generated
+  type.
+- Better support for internal types/members. The behavior is configurable via
+  Configuration.EditableObjectUsesMemberwiseEquals property.
+- VS 2008 support.
+
+
+v 2.0.6
+
+Demo
+
+- MS PetShop 4.0 powered by BLToolkit (see the dev version of the project).
+
+Bug fixes
+
+- DbManager.OutputParameter lacks overload with 'size' parameters.
+- CacheAspect hungs a desktop application on exit.
+- ExecuteResultSet fails on many-to-one relations.
+- TypeBuilder fails to override a method with generic parameters or generic return type.
+
+Enhancement
+
+- ParamSize & ParamDbType attributes to tweak DataAccessor parameters. Especially output
+  ones.
+- All 'emit.stloc' immediately followed by 'emit.ldloc' were replaced with simple
+  'emit.dup' command.
+  Lots of redundant local variables were removed.
+- UnitTests for Oracle, Firebird & Access (Jet)
+- DataSetTableAttribute is handled by all DataSet/DataTable related methods of
+  DataAccessBuilder.
+- ClearCache method for CacheAspect.
+- Metadata provider for mapping.
+- Ability to specify global assembly version & strong name key pair.
+- AsyncAspect to execute any method asynchronously.
+- Added support for ConnectionStrings config settings.
+- Editable XmlDocuments.
+- Added support for IDictionary, IDictionary<,>, IList, and IList<> abstract data
+  accessor return types.
+
+
+v 2.0.5
+
+Breaking changes
+
+- DbManager.InitCommand renamed to OnInitCommand.
+
+Bug fixes
+
+- System.Reflection.Emit.AssemblyBuilder assemblies are processed properly.
+- RegExAttribute - now properly returns valid==true only when whole value is equal to
+  match.
+- EditableObject serialization issue
+- StandardPropertyDescriptor.CheckNull was always returning DBNull.Value if _isNull
+  handler was returning null. Now configurable via Configuration.CheckNullReturnIfNull.
+- PropertyChangedBuilder was crashing when property was not public
+- ObjectBinder.IsNull was serialized to resources
+- Oracle provider now handles arrays of nullable types correctly.
+- DataAccessor.PrepareParameters was invoked only to ref parameters.
+- DataAccessor.PrepareParameters lacks DbManager which may be external.
+- DbManager.InitParameters did hot handle decimal type.
+- MappingSchema.ValueToEnum fails with underlying type other then Int32. 
+- CounterAspect catches the OnCatch event now to count exceptions.
+- DbManager.ExecuteForEach does not call InitParameters in the loop.
+
+Enhancement
+
+- Ability to specify RegexOptions for RegExAttribute. Regex not being created on every
+  call to IsValid
+- Destination attribute works with scalar types.
+- DataAccessorBuilder generates getters/setters for abstract properties & indexers.
+- Ability to specify globaly whether strings should be trimed when mapping
+- Ability to specify whether PropertyChange notification should only be fired when
+  underlying value is changed and not when setter is called
+- XmlDocument type support.
+- DbManager.SetParameters() accepts arrays of IDbDataParameter.
+- DataSetTableAttribute for DataAccessorBuilder to explicitly specify DataSet table name.
+- Default CacheAspect.IsWeak value changed to false.
+- Cleanup thread for CacheAspect.
+- MemberMapper type can be specified directly in the target type declaration.
+- Events for DbManager.OnBeforeOperation, OnAfterOperation, OnOperationException &
+  OnInitCommand.
+
+
+v 2.0.4
+
+Bug fixes
+
+- By default, the mapper included const fields into map list (???).
+- If enum does not have explicit mapping, data accessor builder 
+  does not convert it to underlying type.
+- MemberMapper fails to convert an object to its base type.
+- BindingListImpl.RemoveSort was not firing ListChange event.
+- TypeAccessor.CreateExtendedPropertyDescriptors did not work properly
+  with 3rd+ level nested properties.
+- Object holder ignored NoInstanceAttribute.
+- ValidatorContext caches NullValue.
+- EditableObject.RejectChanges/RejectMemberChanges were not firing PropertyChanged event
+  for reverted fields.
+- Fixed the generating IsValueType && !IsPrimitive ref/out parameters.
+
+Enhancement
+
+- Operator<T> is extensible now.
+- ObjectBinder can now control lifetime (Disposal) of underlying collection.
+- DuckTyping.
+- ParamNullValue attribute.
+- Virtual method DataProviderBase.PrepareCommand to let a data provider modify SQL
+  statement befory query.
+- Virtual method CacheAspect.GetCache. Can be used to provide a custom hashtable.
+
+
+v 2.0.3
+
+Bug fixes
+
+- Race condition in MappingSchema.GetObjectMapper.
+- DbManager will not try to close the connection in the finalizer anymore.
+- MinValue/MaxValue attributes now determine value type by object property/field instead
+  of test value.
+- Fixed obscure case when object is removed from EditableArrayList/BindingListImpl while
+  ItemPropertyChanged delegate is in process of being executed and collection handler was
+  not yet invoked.
+
+Enhancement
+
+- HttpReader SOAP support.
+- Convert<T,P> uses type cast operators when available.
+- Third party DataProvider registration via appsettings.
+- More specification adherent sorting behavior implementation of 
+  IBindingList/IBindingListView in BindingListImpl. 
+- EditableArrayList (potentially breaking changes) heavily relies on BindingListImpl for
+  IBindingList/IBindingListView and their base interfaces implementation. 
+- BindingListImpl is changed to be fully specification adherent binding wrapper for other
+  object lists/collection types.
+- 2.0.1 version obsolete methods have been removed.
+
+
+v 2.0.2
+
+Bug fixes
+
+- Abstract class builder overrode virtual final methods.
+- Append records to a log file.
+- ObjectBinder's AllowNew, AllowEdit, AllowRemove properties serialization.
+
+Enhancement
+
+- New DataAccessor<T,A> class.
+- Direction.ReturnValueAttribute takes the Member parameter in '@fieldName' format.
+- New property Object of the InterceptCallInfo class, which is an intercepted object
+  reference.
+