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 |