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