Mercurial > pub > bltoolkit
comparison Source/Doc/ChangeLog.txt @ 0:f990fcb411a9
Копия текущей версии из github
| author | cin |
|---|---|
| date | Thu, 27 Mar 2014 21:46:09 +0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:f990fcb411a9 |
|---|---|
| 1 v 4.1 | |
| 2 | |
| 3 Enhancement | |
| 4 | |
| 5 - New Linq converter. | |
| 6 - New InsertOrUpdate method. | |
| 7 | |
| 8 | |
| 9 v 4.0 | |
| 10 | |
| 11 Enhancement | |
| 12 | |
| 13 - No more .NET Framework 2.0 support. | |
| 14 - T4 Templates for Sybase, MS SQL Server, MySql, and PostgreSQL. | |
| 15 - Linq over WCF. | |
| 16 - Silverlight support. | |
| 17 - New attributes TableFunction & TableExpression to support table-valued UDF, hints, | |
| 18 and other around table decorations. | |
| 19 - Linq DML support. | |
| 20 | |
| 21 | |
| 22 v 3.2 | |
| 23 | |
| 24 Demo (see the dev version of the project) | |
| 25 | |
| 26 - Linq.Demo. | |
| 27 - WebServices powered by BLToolkit. | |
| 28 - Partial.Trust demo. | |
| 29 | |
| 30 Bug fixes | |
| 31 | |
| 32 - Extension assemblies are ignored in TypeFactory.GetType(type). | |
| 33 - Default parameter values were ignored by OverloadAspectBuilder. | |
| 34 - [Parameter(null)] wasn't setting Nullable<> and EditableValue<Nullable<>> values to null | |
| 35 - DefaultTypeBuilder throwing exception if [Parameter(value)] was used on | |
| 36 EditableValue<Nullable<>> generated properties when Nullable<> did have appropriate | |
| 37 constructor accepting value type | |
| 38 - DateTimeOffset wasn't handled in DataReaderMapper correctly. | |
| 39 | |
| 40 Enhancement | |
| 41 | |
| 42 - Linq provider for supported databases. | |
| 43 - New Object to Object mapping. See ExpressionMapper. | |
| 44 - PostgreSQL Data Provider added. | |
| 45 - Informix Data Provider added. | |
| 46 - DB2 Data Provider added. | |
| 47 - New SqlIgnore attribute. | |
| 48 - New SqlBuilder class. | |
| 49 - Partial trust support. | |
| 50 - Mapping to/from private classes (FW 3.x only). | |
| 51 - New ParamTypeName attribute for SqlServer2008 table-type parameter support (FW 3.x only). | |
| 52 - EditableArrayList & BindingListImpl implements INotifyCollectionChanged interface. | |
| 53 | |
| 54 | |
| 55 v 3.1 | |
| 56 | |
| 57 Bug fixes | |
| 58 | |
| 59 - MapValueAttribute ignored for nullable enums. | |
| 60 - MappingSchema.ConvertChangeType does not handle nullable enums properly. | |
| 61 - EditableArrayList indexer add/remove bug. | |
| 62 - ParameterAttribute doesn't work with Nullabe<T> and EditableValue<T> | |
| 63 when 'T' constructor is not trivial. | |
| 64 - BindingListImpl.AddNew does not fire ListChanged event. | |
| 65 - Some inner types are missing in ObjectMappes, some included w/o reason. | |
| 66 - Setter for ObjectBinder.ItemType fires OnListChanged event before the list changes. | |
| 67 - Convert<To,From> does not handle `Nullable<To>' from scalar `From' case. | |
| 68 - EditableXmlDocument fires PropertyChanged event before an xml node changes. | |
| 69 | |
| 70 Enhancement | |
| 71 | |
| 72 - CHM help file provided. See the Doc folder. | |
| 73 - New InstanceCache attribute. | |
| 74 - DataAccessor support for IEnumerable<T>. | |
| 75 - Multiple duck. See DuckTyping.Aggregate methods. | |
| 76 - New Overload aspect. | |
| 77 - Own configuration section. | |
| 78 - TypeFactory.GetType() is public now. | |
| 79 - Simplified GenerateAttributeAttribute usage. | |
| 80 | |
| 81 | |
| 82 v 3.0 | |
| 83 | |
| 84 Breaking changes | |
| 85 | |
| 86 - No more support for .Net 1.1 Framework. | |
| 87 | |
| 88 Bug fixes | |
| 89 | |
| 90 - EmitHelper.ldc_i4_ emits wrong opcode for numbers from 128 till 255 (bug in msdn) | |
| 91 - Some opcodes were not implemented. | |
| 92 - MappingSchema.MapResultSets fails with NullReferenceException when no data returned. | |
| 93 - Nullable enums were not handled properly. | |
| 94 - BindingList.GetItemSortedPosition() returns wrong index for an item at end of the list. | |
| 95 - Fixed AsyncAspect and other type builders compatibility. | |
| 96 - DbMananger.DiscoverSpParameters fires both OpenConnection and CloseConnection events. | |
| 97 | |
| 98 Enhancement | |
| 99 | |
| 100 - DateTimeOffset type support. | |
| 101 - MemberAccessor.CloneValue to avoid boxing. | |
| 102 - Named arguments support for GenerateAttributeTypeBuilder. | |
| 103 - Extended support for IsNull & Nullable types in MemberAccessor. | |
| 104 - Support for enum values in EmitHelper.LoadWellKnownValue/LoadInitValue and so on. | |
| 105 - Generic GetValue/SetValue methods for ValueHolders. | |
| 106 - Different projects to support FW 2.0 & FW 3.5. | |
| 107 - LinqMetadataProvider to support Linq To SQL attributes. | |
| 108 - Relocated MetadataProvider's to BLToolkit.Reflection namespace. | |
| 109 - New DbManager ctors to support manual/custom configuration. | |
| 110 - Ability to configure SqlQueryAttribute dynamically. | |
| 111 - Assembly is signed. | |
| 112 - New ActualTypeAttribute to associate DataAccessor's object type and its implementation. | |
| 113 - New AutoImplementInterfaceAttribute to automatically generate interface implementation. | |
| 114 - New TypeAccessor.AssociateType method and TypeAccessor.AssociatedTypeHandler event | |
| 115 to control interface/type implementation. | |
| 116 - DataException now has the 'Number' property. | |
| 117 - New ClearCache aspect. | |
| 118 | |
| 119 | |
| 120 v 2.0.7 | |
| 121 | |
| 122 Bug fixes | |
| 123 | |
| 124 - Oracle/Odp does not handle colon (':') in ConvertType.ParameterToName. | |
| 125 - Property change builder will use op_Inequality operation if it is available to compare | |
| 126 property values. | |
| 127 - DbManager.ExecuteList<T>(params object[]) add an extra typeof(T) | |
| 128 - EditableObject.Clone does reference cloning of its inner objects. | |
| 129 - EditableObject.Clone does not track dirty state of its members. | |
| 130 - Generated assembly name ends with '.dll'. | |
| 131 As a result, System.Reflection.Assembly.Load() tries to load 'SomeAssembly.dll.DLL' | |
| 132 and fails. | |
| 133 - Oracle treat '\r' as an invalid character. | |
| 134 - DataAccessorBuilder calls DbProvider.Convert(NameToParameter) for text query | |
| 135 parameters. | |
| 136 - SqlQueryBase.GetKeyFieldList was incorrectly marked as public. | |
| 137 - TypeAccessorBuilder fails to build a getter/setter if base method is protected. | |
| 138 - EditableXmlDocument fails to reject changes if there was an attribute insertion or | |
| 139 deletion. | |
| 140 | |
| 141 Enhancement | |
| 142 | |
| 143 - FdpDataProvider.QuoteIdentifiers option for FB data provier. | |
| 144 - GenerateAtribute attribute to specify any custom attribute for a generated type or | |
| 145 member. | |
| 146 - SQLite data provider. | |
| 147 - DeriveParameters implemented for MsAccess data provider. | |
| 148 - XmlIncludeAbstractAttribute to simplify the xml serialization of a BLToolkit generated | |
| 149 type. | |
| 150 - Better support for internal types/members. The behavior is configurable via | |
| 151 Configuration.EditableObjectUsesMemberwiseEquals property. | |
| 152 - VS 2008 support. | |
| 153 | |
| 154 | |
| 155 v 2.0.6 | |
| 156 | |
| 157 Demo | |
| 158 | |
| 159 - MS PetShop 4.0 powered by BLToolkit (see the dev version of the project). | |
| 160 | |
| 161 Bug fixes | |
| 162 | |
| 163 - DbManager.OutputParameter lacks overload with 'size' parameters. | |
| 164 - CacheAspect hungs a desktop application on exit. | |
| 165 - ExecuteResultSet fails on many-to-one relations. | |
| 166 - TypeBuilder fails to override a method with generic parameters or generic return type. | |
| 167 | |
| 168 Enhancement | |
| 169 | |
| 170 - ParamSize & ParamDbType attributes to tweak DataAccessor parameters. Especially output | |
| 171 ones. | |
| 172 - All 'emit.stloc' immediately followed by 'emit.ldloc' were replaced with simple | |
| 173 'emit.dup' command. | |
| 174 Lots of redundant local variables were removed. | |
| 175 - UnitTests for Oracle, Firebird & Access (Jet) | |
| 176 - DataSetTableAttribute is handled by all DataSet/DataTable related methods of | |
| 177 DataAccessBuilder. | |
| 178 - ClearCache method for CacheAspect. | |
| 179 - Metadata provider for mapping. | |
| 180 - Ability to specify global assembly version & strong name key pair. | |
| 181 - AsyncAspect to execute any method asynchronously. | |
| 182 - Added support for ConnectionStrings config settings. | |
| 183 - Editable XmlDocuments. | |
| 184 - Added support for IDictionary, IDictionary<,>, IList, and IList<> abstract data | |
| 185 accessor return types. | |
| 186 | |
| 187 | |
| 188 v 2.0.5 | |
| 189 | |
| 190 Breaking changes | |
| 191 | |
| 192 - DbManager.InitCommand renamed to OnInitCommand. | |
| 193 | |
| 194 Bug fixes | |
| 195 | |
| 196 - System.Reflection.Emit.AssemblyBuilder assemblies are processed properly. | |
| 197 - RegExAttribute - now properly returns valid==true only when whole value is equal to | |
| 198 match. | |
| 199 - EditableObject serialization issue | |
| 200 - StandardPropertyDescriptor.CheckNull was always returning DBNull.Value if _isNull | |
| 201 handler was returning null. Now configurable via Configuration.CheckNullReturnIfNull. | |
| 202 - PropertyChangedBuilder was crashing when property was not public | |
| 203 - ObjectBinder.IsNull was serialized to resources | |
| 204 - Oracle provider now handles arrays of nullable types correctly. | |
| 205 - DataAccessor.PrepareParameters was invoked only to ref parameters. | |
| 206 - DataAccessor.PrepareParameters lacks DbManager which may be external. | |
| 207 - DbManager.InitParameters did hot handle decimal type. | |
| 208 - MappingSchema.ValueToEnum fails with underlying type other then Int32. | |
| 209 - CounterAspect catches the OnCatch event now to count exceptions. | |
| 210 - DbManager.ExecuteForEach does not call InitParameters in the loop. | |
| 211 | |
| 212 Enhancement | |
| 213 | |
| 214 - Ability to specify RegexOptions for RegExAttribute. Regex not being created on every | |
| 215 call to IsValid | |
| 216 - Destination attribute works with scalar types. | |
| 217 - DataAccessorBuilder generates getters/setters for abstract properties & indexers. | |
| 218 - Ability to specify globaly whether strings should be trimed when mapping | |
| 219 - Ability to specify whether PropertyChange notification should only be fired when | |
| 220 underlying value is changed and not when setter is called | |
| 221 - XmlDocument type support. | |
| 222 - DbManager.SetParameters() accepts arrays of IDbDataParameter. | |
| 223 - DataSetTableAttribute for DataAccessorBuilder to explicitly specify DataSet table name. | |
| 224 - Default CacheAspect.IsWeak value changed to false. | |
| 225 - Cleanup thread for CacheAspect. | |
| 226 - MemberMapper type can be specified directly in the target type declaration. | |
| 227 - Events for DbManager.OnBeforeOperation, OnAfterOperation, OnOperationException & | |
| 228 OnInitCommand. | |
| 229 | |
| 230 | |
| 231 v 2.0.4 | |
| 232 | |
| 233 Bug fixes | |
| 234 | |
| 235 - By default, the mapper included const fields into map list (???). | |
| 236 - If enum does not have explicit mapping, data accessor builder | |
| 237 does not convert it to underlying type. | |
| 238 - MemberMapper fails to convert an object to its base type. | |
| 239 - BindingListImpl.RemoveSort was not firing ListChange event. | |
| 240 - TypeAccessor.CreateExtendedPropertyDescriptors did not work properly | |
| 241 with 3rd+ level nested properties. | |
| 242 - Object holder ignored NoInstanceAttribute. | |
| 243 - ValidatorContext caches NullValue. | |
| 244 - EditableObject.RejectChanges/RejectMemberChanges were not firing PropertyChanged event | |
| 245 for reverted fields. | |
| 246 - Fixed the generating IsValueType && !IsPrimitive ref/out parameters. | |
| 247 | |
| 248 Enhancement | |
| 249 | |
| 250 - Operator<T> is extensible now. | |
| 251 - ObjectBinder can now control lifetime (Disposal) of underlying collection. | |
| 252 - DuckTyping. | |
| 253 - ParamNullValue attribute. | |
| 254 - Virtual method DataProviderBase.PrepareCommand to let a data provider modify SQL | |
| 255 statement befory query. | |
| 256 - Virtual method CacheAspect.GetCache. Can be used to provide a custom hashtable. | |
| 257 | |
| 258 | |
| 259 v 2.0.3 | |
| 260 | |
| 261 Bug fixes | |
| 262 | |
| 263 - Race condition in MappingSchema.GetObjectMapper. | |
| 264 - DbManager will not try to close the connection in the finalizer anymore. | |
| 265 - MinValue/MaxValue attributes now determine value type by object property/field instead | |
| 266 of test value. | |
| 267 - Fixed obscure case when object is removed from EditableArrayList/BindingListImpl while | |
| 268 ItemPropertyChanged delegate is in process of being executed and collection handler was | |
| 269 not yet invoked. | |
| 270 | |
| 271 Enhancement | |
| 272 | |
| 273 - HttpReader SOAP support. | |
| 274 - Convert<T,P> uses type cast operators when available. | |
| 275 - Third party DataProvider registration via appsettings. | |
| 276 - More specification adherent sorting behavior implementation of | |
| 277 IBindingList/IBindingListView in BindingListImpl. | |
| 278 - EditableArrayList (potentially breaking changes) heavily relies on BindingListImpl for | |
| 279 IBindingList/IBindingListView and their base interfaces implementation. | |
| 280 - BindingListImpl is changed to be fully specification adherent binding wrapper for other | |
| 281 object lists/collection types. | |
| 282 - 2.0.1 version obsolete methods have been removed. | |
| 283 | |
| 284 | |
| 285 v 2.0.2 | |
| 286 | |
| 287 Bug fixes | |
| 288 | |
| 289 - Abstract class builder overrode virtual final methods. | |
| 290 - Append records to a log file. | |
| 291 - ObjectBinder's AllowNew, AllowEdit, AllowRemove properties serialization. | |
| 292 | |
| 293 Enhancement | |
| 294 | |
| 295 - New DataAccessor<T,A> class. | |
| 296 - Direction.ReturnValueAttribute takes the Member parameter in '@fieldName' format. | |
| 297 - New property Object of the InterceptCallInfo class, which is an intercepted object | |
| 298 reference. | |
| 299 |
