加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
changelog.txt 111.70 KB
一键复制 编辑 原始数据 按行查看 历史
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613
SPRING.NET FRAMEWORK CHANGELOG
==============================
http://www.springframework.net
*****************************************************************************************
Release Version 2.0.1 April 10, 2015
Release Notes - Spring.NET - Version 2.0.1
Bug
Erroneous linking of Spring.Data.NHibernate4 against NHibernate 3.3 assembly corrected to properly link to NHibernate 4.0.3
*****************************************************************************************
Release Version 2.0.0 March 27, 2015
Release Notes - Spring.NET - Version 2.0.0
New Feature Highlights
* Spring CodeConfig integrated to core
* .NET 3.5 and later supported
* Generic types taken into use
* ASP.NET MVC 5 / WebAPI 2.2 support
* NHibernate 4 Support
API and Behavioural Changes
* Protected fields were changed to private. Access is now allowed via public/protected property member.
* Most of members marked as Obsolete before 2.0 release were removed.
* DbProvider automatically sets BindByName to true for Oracle's ODP.NET OracleCommand instances when created
Project Structure and Packaging changes
* Spring.Data.NHibernate.3x projects were merged to single Spring.Data.NHibernate3 project (you need to uninstall old NuGet packages and install the new Spring.DataNHibernate3 package)
* Spring.Scheduling.Quartz has been replaced with Spring.Scheduling.Quartz2
Bug
[SPRNET-21] - Event Wiring Prototype Source to Singleton Sink Does Nothing
[SPRNET-1386] - WebServiceExporter results in case-sensitive .asmx URLs
[SPRNET-1409] - Bug in MethodParametersCriteria.IsSatisfied() Method
[SPRNET-1427] - Prevent ObjectFactory from doing work when in the process of being disposed to prevent object resolution when container is in an inconsistent state
[SPRNET-1433] - AopUtils.IsAopProxy and IsAopProxyType fails to consider InheritanceAopProxy instances and types
[SPRNET-1458] - Nuget package Spring.Testing.NUnit can not find nunit.framework
[SPRNET-1461] - Transaction Timeout value not adhered while using TransactionAttribute
[SPRNET-1464] - WCF Service Exporter does not support contract interfaces that inherit from other interfaces
[SPRNET-1468] - Variables not working in BaseBindingContainer
[SPRNET-1470] - Setting property of type IList using without the @element-type specified fails.
[SPRNET-1473] - A call to SpringMvcDependencyResolver GetServices fails with a cast exception (DictionaryEntry -> Implementation)
[SPRNET-1474] - SimpleDelegatingSessionFactory.cs Connection Leak
[SPRNET-1481] - SpringControllerFactory does not properly delegate to underlying base class if Controller not registered with the ApplicationContext (MVC2)
[SPRNET-1482] - SpringControllerFactory returns null instance by default
[SPRNET-1485] - CachedSession CreateProducer destination null
[SPRNET-1490] - NumberUtils.IsZero: invalid cast for Byte and SByte
[SPRNET-1499] - WebService Exported produces "Duplicate type name within an assembly" exception
[SPRNET-1505] - Support using Proxyied Objects as Factory Objects
[SPRNET-1462] - Spring DB Provider initialization issue with Oracle 11 g 64 bit - Errors attached.
[SPRNET-1518] - IDestructionAwareObjectPostProcessor defined PostProcessors do not receive PostProcessBeforeDestruction method calls
[SPRNET-1519] - [Controller] attribute stereotype does not exists
[SPRNET-1520] - Autowired into Spring.Collections.Generic.ISet does not work, Exceptions shows that abstract class Set can't be intantiated
[SPRNET-1524] - IndexOutOfRangeException when matching ambiguous method using params parameters
[SPRNET-1527] - GetObject(string nameValue) does not resolve objects correctly
[SPRNET-1529] - ExpressionEvaluation cannot process Byte values
[SPRNET-1516] - Spring.Reflection.Dynamic.SafeMethod ctor not thread safe
[SPRNET-1535] - XmlMessageConverter always appends UTF8 preamble (BOM)
[SPRNET-1543] - DefaultListableObjectFactory.GetObjectDefinitionNames is getting them from all ancestors, but VariablePlaceholderConfigurer is trying to get the ObjectDefinition just from the current context and not the parent, potential NPE exception.
[SPRNET-1544] - CodeConfig ComponentScan does not setup ObjectScope.Session and ObjectScope.Request not automatically with LazyInit
[SPRNET-1545] - Web scoped objects with IDisposable failing when object created twice
[SPRNET-1547] - ScannedGenericObjectDefinition doesn't apply default autowire mode
[SPRNET-1549] - 2.0.0 M2 Release with MVC4 fails on second request for controller object with duplicate key error
[SPRNET-1558] - Spring.Aop.Framework.HashtableCachingAdvisorChainFactory not thread safe
[SPRNET-1563] - Make code as ClsCompliant as possible
[SPRNET-1566] - Spring.Data.Support.FallbackExceptionTranslator.Translate() should return an exception, not throw one
[SPRNET-1567] - HibernateTransactionManager assign incorrect connection timeout
[SPRNET-1318] - Dramatically inefficent ObjectFactory disposing
[SPRNET-1513] - HibernateTransactionManager DoBegin fails with Oracle 8i
[SPRNET-1435] - Unhandled exception from TypeConversionUtils.cs at line 147.
[SPRNET-1494] - Class Spring.Aop.Framework.DynamicProxy.CachedAopProxyFactory logs message on INFO level
[SPRNET-1445] - Can not autowire IDictionary
[SPRNET-1498] - Prevent SimpleDelegatingSessionFactory second level cache key conflict
Improvement
[SPRNET-1247] - Update to use Common.Logging 2.0
[SPRNET-1385] - update README for first time checkout and build
[SPRNET-1471] - Set IDictionary property using non-generic element.
[SPRNET-1489] - Support invalidating cache at the entire method level
[SPRNET-751] - Add generic method "T GetObject(string name)" to interface IObjectFactory
[SPRNET-881] - Add autowire-candidate and primary as metadata options for defining object definitions.
[SPRNET-1522] - Eliminate cache key conflicts when using SimpleDelegatingSessionFactory and second-level caching with multiple databases
[SPRNET-1534] - Object Definitions with identical values for id="..." and name="..." are excluded from GetObjectsByType(...) and GetObjects() calls
[SPRNET-1509] - Upgrade to NUnit 2.6
[SPRNET-1525] - OracleODP-11-2.0
[SPRNET-1540] - Update NHibernate to 3.3.3
[SPRNET-1542] - Automatically register context namespace parser
[SPRNET-1559] - Update to use Apache NMS 1.6
[SPRNET-1571] - DbProvider should set BindByName for OracleCommand to true
[SPRNET-1415] - Generic IAdoOperations missing CreateDbParameters()
New Feature
[SPRNET-1478] - Use lazy properties of NHibernate in Spring.NET
[SPRNET-1497] - Add Support for ASP.NET MVC4 and HTTP WebAPI
[SPRNET-1501] - Add Support for SQLite 1.0.80
[SPRNET-1504] - Support NHibernate 3.3.0 GA
[SPRNET-1514] - Add IFactoryObject implementation to support arbitrary delegate invocation for object creation
[SPRNET-1521] - Add AutowireAttributePostProcessor
[SPRNET-1387] - ASP.NET PageHandlerFactory cannot inject dependencies in the presence of the WebForms 4.0 routing infrastructure
[SPRNET-1507] - Add support for dynamic type ExpandoObject in spring.net expressions
[SPRNET-1536] - Merge SPRNET-CODECONFIG project into SPRNET
[SPRNET-1539] - Quartz.NET 2.3 support
[SPRNET-1561] - ASP.NET MVC 5 support
[SPRNET-1572] - Support Oracle ODP.NET Managed provider v. 121.1
Task
[SPRNET-1383] - test ConfigSectionVariableSourceTests.TestVariableResolutionFromApplicationSettingsSchema fails under .NET 3.5
[SPRNET-1459] - Remove VS2003, VS2005 projects and solutions
[SPRNET-1460] - Drop Framework 1.x Support
[SPRNET-1503] - Update Messaging.Nms to Apache.NMS.ActiveMQ 1.5.4
[SPRNET-1508] - Publish pre-release versions to NuGet
[SPRNET-1512] - Spring.Context.Support.AbstractApplicationContext.GetObjectNamesForType(..) fails to account for parent ApplicationContext/ObjectFactory object definitions
[SPRNET-1560] - Remove VS2008 project and solution files
[SPRNET-1564] - Remove code marked as obsolete
*****************************************************************************************
Release Version 1.3.2 August 1, 2011
Release Notes - Spring.NET - Version 1.3.2
Bug
[SPRNET-951] - AmbiguousMatchException when use overriden 'New' properties on a subclass ( like
[SPRNET-1331] - WebApplicationContext sometimes tries to duplicate application context within same appdomain
[SPRNET-1339] - GetMethodBaseByArgumentValues can't resolve an overloaded method when a null value is passed to a Nullable type parameter
[SPRNET-1391] - ExceptionTranslation doesnt work for SQLite
[SPRNET-1410] - HibernateTxScopeTransactionManager throws "could not rollback hibernate transaction" if it dioes not check for zombied transaction
[SPRNET-1416] - Fixed Spring.ServiceModel.ServiceExporter
[SPRNET-1417] - NHibernate 3.1 NH-2455 breakes Spring 1.3.1 NH support
[SPRNET-1424] - Interfaces attributes should not be 'proxied' when targeting a transparent proxy
[SPRNET-1429] - InheritanceAopProxyTypeBuilder does not support generic parameters
[SPRNET-1430] - ASP.NET MVC 3 throws an InvalidOperationException when trying to create controller that is not configured via Spring
[SPRNET-1432] - Spring.Testing.Microsoft not available in nightly snapshots
[SPRNET-1438] - Extraneous NHibernate Session created and used for transactions that begin in the scope of TransactionPropagation.Supports with OpenSessionInViewModule or SessionScope
[SPRNET-1440] - ValidationErrors ReadXml serialization bug
[SPRNET-1446] - WebContextHandler returns "Request is not available in this context" under IIS7 + Integrated Pipeline mode
[SPRNET-1448] - WebServiceExporter invokes service constructor twice when configured as non singleton
[SPRNET-1450] - Web object scopes not working in MvcApplicationContext
Defect
[SPRNET-1334] - if new disposable inner object(s) is created during the container disposal, a cryptic exception "Collection was modified; enumeration operation may not execute." is thrown.
Improvement
[SPRNET-791] - Logging of parameter values in AdoTemplate, in particular on exception.
[SPRNET-1180] - Document use of HttpApplicationConfigurer.ApplicationTemplate for configuring HttpApplication instances
[SPRNET-1242] - Support for collection merging with generic collections
[SPRNET-1351] - Add support for Informix dbprovider
[SPRNET-1352] - Typing mistakes
[SPRNET-1385] - update README for first time checkout and build
[SPRNET-1408] - Add data providers in System.Data.dll to be accessed via Spring's IDbProvider interface.
[SPRNET-1411] - Support NMS 1.5/1.5.1
[SPRNET-1422] - HibernateTemplate should support Merge
[SPRNET-1426] - Create ConfigurableVariableSource to allow inline variables definitions with VariablePlaceholderConfigurer
[SPRNET-1454] - Add Support for NHibernate 3.2
New Feature
[SPRNET-1421] - NHibernate 3.1 support
[SPRNET-1437] - Automate NuGet Packaing into Build/Release Script Process
[SPRNET-1443] - Support for ASP.NET MVC3
Task
[SPRNET-1397] - update version references for VS2008 templates in dev-support\vs.net-2008\templates\
[SPRNET-1400] - Update installer for 1.3.2 release
[SPRNET-1402] - Add documentation for LocalDelegatingSessionFactoryObject for NH
[SPRNET-1412] - Please include Spring.Messaging.Ems in 1.3.1 (or future) release
[SPRNET-1414] - Modify DAILY build script to upload NIGHTLY build to new hosted site server
[SPRNET-1419] - Spring.Data.NHibernate shows wrong description
[SPRNET-1425] - Update Version info to reflect 1.3.2
[SPRNET-1447] - Add Caching quick start
[SPRNET-1451] - Create Ref Docs for MVC3 Support
[SPRNET-1455] - Update NuGet dependency versions to reflect 1.3.2 versions of dependent SPRNET libs
*****************************************************************************************
Release Version 1.3.1 December 10, 2010
Release Notes - Spring.NET - Version 1.3.1
Bug
[SPRNET-576] - Allow formatting null values for .NET 2.0 Nullable Types
[SPRNET-694] - Error creating hierarchical IAppliationContext when using default names.
[SPRNET-951] - AmbiguousMatchException when use overriden 'New' properties on a subclass ( like
[SPRNET-962] - Request is not available in this context exception with IIS7 in integrated mode
[SPRNET-984] - Cannot specify full URL on a different domain for Page class ImagesRoot, CssRoot, and/or ScriptsRoot
[SPRNET-998] - Exception is thrown when creating object instance for class with custom attribute on method.
[SPRNET-1075] - AdoTemplate DataSetCreateWithParams not working as expected
[SPRNET-1105] - Lifecycle methods should only be called once
[SPRNET-1107] - Improve DynamicReflectionManager.ConvertValueTypeArgumentIfNecessary handling of implicit conversion operators
[SPRNET-1122] - RegularExpressionValidator fails if full string is not matched
[SPRNET-1123] - AbstractXmlApplicationContext.CustomizeObjectFactory never called after CreateObjectFactory() called.
[SPRNET-1124] - No ability to load pure IResource objects for application contexts as in java version
[SPRNET-1129] - Dependant singleton object isn't constructed when it doesn't define its type
[SPRNET-1138] - Cache Aspect on Generic Method goes on StackOverFlowException
[SPRNET-1156] - Method AbstractXmlApplicationContext.CustomizeObjectFactory(DefaultListableObjectFactory objectFactory) not used in code
[SPRNET-1157] - EntryPointNotFoundException for DI using VB and Windows 2000
[SPRNET-1161] - Only render datepicker Button if the Calendar control is enabled
[SPRNET-1166] - API documentation generator generates wrong property definitions
[SPRNET-1184] - Fix TypeNameAutoProxyCreator to use <list/> element for the TypeNames property
[SPRNET-1187] - inconsistent behaviour getting/setting database parameters
[SPRNET-1188] - Calendar control's javascript reference is not correct
[SPRNET-1189] - Calendar control generates duplicate id attribute
[SPRNET-1200] - Default names for DataTables not generated correctly when filling DataSet from query that returns multiple result sets.
[SPRNET-1202] - spring fails to concurrently create XmlApplicationContexts with ObjectDefinitionStoreException
[SPRNET-1205] - ExecuteFind trys to throw ConvertADOAccessException but throws NullReferenceException
[SPRNET-1212] - NamespaceParserRegistry: System.UriFormatException: Invalid
[SPRNET-1214] - Constructor arguments not merged correctly from the parent object
[SPRNET-1226] - BaseCacheAttribute does not allow null key
[SPRNET-1227] - TypeLoadException when using methods with type parameters
[SPRNET-1248] - Request is not available in this context
[SPRNET-1249] - HibernateTemplate 1.3rc + NH21 AST parser -- type guessing on params not working
[SPRNET-1256] - DefaultAdvisorAutoProxyCreator should cache FindCandidateAdvisors() list on a per-type basis
[SPRNET-1258] - ResourceConverterTests fail if a user has a file called foo.txt in their home folder
[SPRNET-1262] - Should create right CustomAttributeBuilder for proxies
[SPRNET-1264] - Exception EnterpriseServiceExporter
[SPRNET-1271] - Spring.Web.Support.HandlerMap
[SPRNET-1277] - Wellknown Namespacesparsers don't get loaded automatically without prior explicit registration
[SPRNET-1284] - IL code generation can result in System.BadImageFormatException in Windows 2008
[SPRNET-1289] - A target retrieved from a dynamic target source, is not entirely thread safe, e.g.ThreadLocalTargetSource
[SPRNET-1306] - Exception parsing concurrency attribute in ems listener-container config
[SPRNET-1307] - TransactionPropagation.NotSupported should run with new TransactionScopeOption.Suppress
[SPRNET-1308] - Received error: ObjectCurrentlyInCreationException ("FactoryObject which is currently in creation returned null from GetObject.")
[SPRNET-1309] - Cannot load saoFactory using the new synthax
[SPRNET-1312] - DbProvider configuration references renamed property
[SPRNET-1314] - AttributeMatchMethodPointcut should support explicitly implemented interfaces
[SPRNET-1315] - make dependant objects dispose in a certain order
[SPRNET-1317] - CLONE -Should create right CustomAttributeBuilder for proxies
[SPRNET-1322] - Support proxying internal interfaces with InternalsVisibleTo attribute and Strong-Named assemblies
[SPRNET-1323] - Fix WebServiceExporter to allow type-based auto-wiring and auto-proxying
[SPRNET-1325] - Regular expression method pointcut does not support generics
[SPRNET-1329] - NullReferenceException using Spring.Web.Services.WebServiceExporter with Mono
[SPRNET-1330] - AbstractObjectFactory: nestingCount causes exceptions in a multithreaded environment
[SPRNET-1332] - StackOverFlow when processing messages that take a long time to complete in MSMQ integration
[SPRNET-1335] - MultiDelegatingDbProvider CreateCommandBuilder returns IDbDataAdapter instead of DbCommandBuilder
[SPRNET-1337] - Locking up object method under multi-threaded
[SPRNET-1346] - Collection merging fails when doing DI on HTTP modules
[SPRNET-1355] - TypeAlias usage with other IObjectFactoryPostProcessor object definitions not working.
[SPRNET-1356] - Introduce IPriorityOrdered interface to ensure correct ordering among IObjectFactoryPostProcessors
[SPRNET-1357] - TransientDataAccessResourceCodes node cannot be resolved for the specified context [Spring.Data.Common.ErrorCodes]
[SPRNET-1361] - documentation refers to nonexistent methods
[SPRNET-1368] - CacheResultAdvice may return incompatible objects
[SPRNET-1369] - NmsTemplate was not attempting to start the connection when calling RecieveAndConvert
[SPRNET-1371] - CachedAopProxyFactory doesn't take into account the ProxyTargetAttributes property for cache key generation
[SPRNET-1377] - Attribute 'expression' for 'regex' element in the validation schema is not parsed correctly
[SPRNET-1379] - Enterprise Services Exporter sample application no longer runs
[SPRNET-1380] - NHibernate 2.1.2 leaks connections on TX ROLLBACK if (System.Transactions)TransactionScope is used
[SPRNET-1381] - short-circuit evaluation of logic operators in SpEL
[SPRNET-1398] - Command timeout can't be set to infinite value
Improvement
[SPRNET-577] - Allow for registration of custom parsers in COM+ components
[SPRNET-579] - Add NHibernate DAO implementation to SpringAir example application
[SPRNET-791] - Logging of parameter values in AdoTemplate, in particular on exception.
[SPRNET-987] - entry key should work with property configurer
[SPRNET-1042] - Specify location of additional DbProvider definitions in Spring XML database namespace
[SPRNET-1101] - Exception translation for NHibernate ADOException can be improved.
[SPRNET-1119] - Support type alias resolution in <value/> element
[SPRNET-1180] - Document use of HttpApplicationConfigurer.ApplicationTemplate for configuring HttpApplication instances
[SPRNET-1232] - Document how to support for using Fluent NHibernate in LocalSessionFactoryObject
[SPRNET-1268] - Exceptions in Spring should pass tests to ensure compliance with .NET framework guidelines.
[SPRNET-1297] - DictionaryVariableSource cannot be initialized from an IDictionary
[SPRNET-1304] - Lack of error code information in translated exceptions
[SPRNET-1310] - Update to use Apache NMS 1.3
[SPRNET-1320] - Add partial (InProc SxS) support for .NET 4.0 Framework
[SPRNET-1340] - MethodInvokingJobDetailFactoryObject does not set the result in JobContext
[SPRNET-1341] - CronTriggerObject start delay support
[SPRNET-1342] - Quartz scheduler should not start until context is refreshed
[SPRNET-1358] - Allow for ignoring of resources not found in PropertyFileVariableSource
[SPRNET-1360] - DynamicProxyManager Attempted Construction of Multiple instances of types with same names results in unhelpful exception
[SPRNET-1362] - Spring.EmsQuickStart contain generate-classes.bat puts in namespace for Spring.NmsQuickStart
[SPRNET-1364] - DEBUG_DYNAMICX instead of DEBUG_DYNAMIC in debug VS2008 configuration of Spring.Core.2008
[SPRNET-1366] - Allow for configuration of UTF8 preamble generation and the check for invalid bytes in XmlMessageConverter.
[SPRNET-1367] - Remove dependency of unit tests on DotNetMock framework
[SPRNET-1370] - Add 'when' condition to the Reference Validator
[SPRNET-1375] - Update to ActiveMQ NMS 1.4.1
[SPRNET-1390] - Allow for dependency injection on object returned from TIBCO EMS's JndiLookupFactoryObject
[SPRNET-1392] - Introduce Changes to support Code-Based Configuration in the Core container infrastructure
[SPRNET-1394] - Update Spring.Data.NHibernate to support NH3.0 GA
New Feature
[SPRNET-1301] - Provide support for switching among multiple databases at runtime when using NHibernate
[SPRNET-1324] - Add namespace parser for WCF integration
[SPRNET-1343] - Provide initial ASPNET MVC Integration for core DI capabilites
[SPRNET-1354] - Add support for DI using WCF's WebServiceHostFacotory
[SPRNET-1359] - Upgrade Quartz.NET to version 1.0.3
[SPRNET-1372] - Provide Native .NET 4 compilation assemblies
[SPRNET-1389] - Update to Apache.NMS.ActiveMQ 1.4.1
[SPRNET-1393] - NHibernate 3.0 support
Task
[SPRNET-754] - Investigate calling of oracle functions with StoredProcedure class
[SPRNET-1096] - Show example configuraiton using TxScopeTransactionMansager with NHibernate
[SPRNET-1199] - Documentation error about AdoQuery
[SPRNET-1250] - Document use of 'DelegatingLocalSessionFactoryObject' and 'UserCredentialsDbProvider'
[SPRNET-1269] - Time based test in NHibernate.Test failed on bamboo CI machine
[SPRNET-1311] - Update 'intro-modules' section to refer to all current modules.
[SPRNET-1313] - MessageQueueGatewaySupport.cs is not included in the project, but present in directory.
[SPRNET-1316] - Correct typo in Spring.Data documentation
[SPRNET-1319] - Add VS2008 solutions/projects for all examples
[SPRNET-1321] - Add MySql 6.2.2 ado.net provider
[SPRNET-1327] - Fix build configuration to link .NET 3.5 build with Quartz.NET 3.5 libraries
[SPRNET-1336] - Update documentation for MultiDelegatingDbProvider to show preferred way to set DbProvider name and notes for (not) using with NHibernate.
[SPRNET-1353] - Support System.Transactions with NHibernate Session Management
[SPRNET-1365] - Update to ActiveMQ NMS 1.4
[SPRNET-1378] - SQLite requires different assembly to support x64 platforms
[SPRNET-1382] - Document HibernateTxScopeTransactionManager
[SPRNET-1384] - Add .NET 3.5 and .NET 4.0 builds to build script
[SPRNET-1395] - Verify VS2003 SLN file compiles
[SPRNET-1396] - Add Spring.Web.Mvc to build output targets
[SPRNET-1397] - update version references for VS2008 templates in dev-support\vs.net-2008\templates\
[SPRNET-1399] - Add missing LICENSE header to several new files
[SPRNET-1401] - Add documentation for Spring.Web.Mvc
[SPRNET-1402] - Add documentation for LocalDelegatingSessionFactoryObject for NH
[SPRNET-1403] - Fix build configuration to link .NET 3.5 build with System.Web.Extensions 3.5 libraries
[SPRNET-1404] - Add custom ActionInvoker to SpringControllerFactory impl
*****************************************************************************************
Release Version 1.3.0 December 17, 2009
Release Notes - Spring.NET - Version 1.3.0
Bug
[SPRNET-1155] - Error when evaluating expression with #date variable
[SPRNET-1198] - Dynamic Assemblies are not Strong Named
[SPRNET-1228] - NmsTemplate: wrong timeout units in receive method (ticks instead of milliseconds)
[SPRNET-1266] - Context creation can throw ObjectCurrentlyInCreatation exception thrown when using <tx:attribute-driven/> with NHibernateTransactionManager
[SPRNET-1270] - Selection of DefaultProvider in MultiDelegatingDbProvider can be null
[SPRNET-1272] - Recreating application context can result in calls to create same type twice leading to System.ArgumentException: Duplicate type name within an assembly.
[SPRNET-1273] - Remove unnecessary cast to (int) in Spring.Data.Core.AdoTemplate ExecuteScalar with ICommandSetter method argument
[SPRNET-1285] - MultiDelegatingDbProvider in wrong namespace
[SPRNET-1288] - auto-start not parsed correctly in TIBCO EMS/ActiveMQ message listener container schema.
[SPRNET-1290] - Project templates .csprog files references have 'SpecificVersion' set to true, set to false.
[SPRNET-1296] - IConfigurableFactoryObject should not use ConfigureObject method to configure the product's factory
Improvement
[SPRNET-825] - Rename HtmlHelp-formatted reference docs to spring-net-reference.chm
[SPRNET-959] - Use 'invocation.Method' as variable for cache attributes key expression resolution
[SPRNET-989] - Avoid throwing exception in Spring's custom timespan converter when delegating to default .NET BCL implementation.
[SPRNET-1097] - Provide VS.NET 2008 integrated API help
[SPRNET-1194] - Make public and protected method in AdoTemplate (both core and generic) virtual to better support testing
[SPRNET-1257] - Improve performance in ExpressionParser by DynamicInvoke with SafeMethod.Invoke
[SPRNET-1259] - Cache retrieval of CachingAspect custom attributes to improve performance
[SPRNET-1260] - DefensiveEventRaiser must not swallow exceptions without notice - provide means to get exception information
[SPRNET-1267] - Add optimize compiler flag for release build
[SPRNET-1286] - Provide implementation of Apache.NMS.ITrace to merge NMS logging stream with Common.Logging stream.
[SPRNET-1294] - Change use of NotImplementedExceptions to NotSupportedExceptions
[SPRNET-1300] - NMS custom schema is missing a way to set the Exception Listener when creating message listener containers
[SPRNET-1302] - Add IErrorHandler interface to be called when exception thrown by message processing is not of vendor specific messaging exception type.
New Feature
[SPRNET-1041] - Add new DbProvider for Oracle 11g
[SPRNET-1136] - Add firebird db provider
[SPRNET-1278] - Add integration with JNDI for TIBCO EMS
Refactoring
[SPRNET-1251] - Investigate regression bug in ProxyFactoryObject due to sync with Spring Java
[SPRNET-1293] - Remove extraneous methods in implementations of NMS caching classes that use RequestTimeOut as a method parameter
Task
[SPRNET-850] - Upgrade to NUnit 2.5.2
[SPRNET-1076] - API doc links from reference doc are broken
[SPRNET-1148] - Provide quick start documentation for Spring NHibernate integration.
[SPRNET-1229] - Documentation for TIBCO EMS integration
[SPRNET-1239] - Check for package cycles with NDepend
[SPRNET-1250] - Document use of 'DelegatingLocalSessionFactoryObject' and 'UserCredentialsDbProvider'
[SPRNET-1265] - Upgrade to NHibernate 2.1.2
[SPRNET-1279] - Create integration test project for NMS
[SPRNET-1280] - Create integration test project for TIBCO EMS
[SPRNET-1281] - Error when calling pre-build task to antlr in Spring.Core.2008 project
[SPRNET-1291] - Upgrade to Quartz.NET 1.0.2
[SPRNET-1295] - Add MySql 6.1.3 ado.net provider
[SPRNET-1298] - Copy edit the Spring reference documentation chapter on the web framework
[SPRNET-1299] - Move older ways of configuring transaction management, using HibernateTemplate, to a 'Classic Spring Usage' section
*****************************************************************************************
Release Version 1.3.0 RC1 August 3, 2009
Release Notes - Spring.NET - Version 1.3.0 RC1
Bug
[SPRNET-444] - An ID in Spring.Expressions can't contain '.' char
[SPRNET-471] - TypeResolver does not support type array resolution
[SPRNET-1073] - interface method IValidationErrors.MergeErrors(..) references concrete type "ValidationErrors"
[SPRNET-1077] - PropertyPlaceholderConfigurer can't read from config sectiongroups
[SPRNET-1106] - Invalid Injection
[SPRNET-1111] - Bug in DynamicReflectionManager.ConvertValueTypeArgumentIfNecessary, the call Convert.ChangeType fails on converting DateTime to Nullable<DateTime>.
[SPRNET-1115] - LocalSessionObjectFactory not detected as a IPersistenceExceptionTranslator in an application context
[SPRNET-1117] - WebSupportModule fails to initialize on pre NET 2.0 SP2 platforms due to missing field HttpContext.HideRequestResponse
[SPRNET-1121] - XmlMessageConverter error (stream closing order)
[SPRNET-1128] - ApplicationContext instance is not removed from ContextRegistry when disposed
[SPRNET-1130] - Wrong MessageQueueException handling in DistributedTxMessageListenerContainer and TransactionalMessageListenerContainer
[SPRNET-1131] - Exception when using Nullable parameters in proxied service
[SPRNET-1134] - Spring.Proxy classes does not generate correctly multiple parameters attributes (method's parameter attributes and method's return type attributes
[SPRNET-1135] - Auto Injection for Unit Tests Failing when object has Parent
[SPRNET-1142] - Adding parameters does not working for SQLlte text comand
[SPRNET-1146] - Validation Controls cause NullReferenceException in webforms designer
[SPRNET-1151] - Spring.Web.UI.Page.Validate() method hides framework's System.Web.UI.Page.Validate()
[SPRNET-1153] - Deadlock when shutting down AbstractPeekingMessageListenerContainer
[SPRNET-1160] - Synchronizations with the same (or no) Order are NOT applied in registration order
[SPRNET-1162] - IConfigurableListableObjectFactory misses method RegisterObjectDefinition to be in sync w/ IObjectDefinitionRegistry
[SPRNET-1168] - InheritanceBasedAopConfigurer prone to ambiguous matches while proxying methods
[SPRNET-1171] - InteritanceAopConfigurer does not proxy protected virtual methods
[SPRNET-1174] - Proxies dont implement methods of base interfaces of interfaces
[SPRNET-1176] - Spring AOP proxies can't be serialized/deserialized in process
[SPRNET-1179] - ServiceExporter cannot export types implementing multiple interfaces
[SPRNET-1186] - DbParameters.GetValue returning DbParameter object instead of value
[SPRNET-1201] - Error importing XML object definition file - IOUtils::CopyStream() does not handle buffer under fills.
[SPRNET-1204] - Unable to export an AOP-proxied instance by using Enterprice Service Exporter
[SPRNET-1211] - the same .aspx page cannot be registered under different id's or aliases
[SPRNET-1219] - NonTransactionalMessageListenerContainer may require setting of message formatter before calling receive
[SPRNET-1221] - Both <tx:attribute-driven> and an extra DefaultAdvisorAutoProxyCreator cause advices to be invoked multiple times
[SPRNET-1222] - MessageQueueFactoryObject.GetObject() sets global MessageQueue.EnableConnectionCache property
[SPRNET-1225] - Dependencies of Advisors should not be eligible for auto-proxying
[SPRNET-1231] - objects defined using factory-object and factory-method get already instantiated during ObjectFactory postprocessing phase
[SPRNET-1233] - Can not send to remote private MSMQ queue
Improvement
[SPRNET-467] - add support for bitwise operations to Spring.Expressions
[SPRNET-504] - Allow circular references on prototypes
[SPRNET-620] - Support for Collection Merging in Parent/Child Object Definitions
[SPRNET-691] - Add ExecuteSqlScript utility method to AbstractTransactionalDbProviderSpringContextTests
[SPRNET-698] - Make Advisor/Advice binary serializable
[SPRNET-904] - RollbackRuleAttribute throws AopConfiguration exception instead of ArgumentException
[SPRNET-929] - Improve namespace parsing infrastructure
[SPRNET-1018] - DoRedirect in ResultMode uses Response.Redirect that throws ThreadAbortException
[SPRNET-1081] - Add an ExceptionThrowingAction to Spring.Validation framework
[SPRNET-1095] - mprove example application showing use of ServicedComponent exporter (COM+/EnterpriseServices)
[SPRNET-1102] - Improve Northwind NHibernate example
[SPRNET-1108] - Add support for InterSystems.Data.CacheClient provider
[SPRNET-1110] - Add "contextswitch" to validation framework
[SPRNET-1112] - Provide AbstractSimpleObjectDefinitionParser
[SPRNET-1114] - Performance problems with Spring.Testing.NUnit in 1.2.0 release
[SPRNET-1125] - Ordering of object names in ObjectFactory.GetObjectDefinitionNames() and GetObjectNamesForType() is not predictable
[SPRNET-1126] - XmlMessageConverter/TypeMapper usage should be able to embed fully qualified type name to enable type sharing between producer and subscriber
[SPRNET-1127] - NmsTemplate could support both topics/queues in a threadsafe manner.
[SPRNET-1140] - Allow for both, CLR and Spring syntax for generic type definitions in XML and SpEL
[SPRNET-1149] - MessageQueue not resolved from MessageQueueObjectName before container starts to consume messages
[SPRNET-1150] - Provide warning if MSMQ IMessageConverter object is not specified with scope = prototype.
[SPRNET-1154] - Update Apache.NMS library version
[SPRNET-1158] - Provide means to check for an active AOP invocation context
[SPRNET-1163] - AbstractSpringContextTests.SetDirty should take System.Object argument
[SPRNET-1167] - It is impossible to configure Null values using VariablePlaceholderConfigurer
[SPRNET-1177] - PropertyComparator doesn't perform stable sorting
[SPRNET-1181] - Improve support for NHibernate 3
[SPRNET-1182] - defer target==null checking until actual joinpoint invocation in aop proxy method implementations
[SPRNET-1190] - Add error code for duplicateKeyCodes to DbProvider metadata for Oracle
[SPRNET-1191] - Add additional convenience constructors to ProxyFactory
[SPRNET-1192] - VS Intellisense doesn't show annotation comments from Spring Schemas
[SPRNET-1206] - Upgrade to NUnit 2.5 or make it version independent
[SPRNET-1208] - support IObjectFactoryAware on manual AddObjectPostProcessor registration
[SPRNET-1215] - Add DuplicateKeyException to DAO exception hierachy
[SPRNET-1224] - FactoryObject products from singleton factories don't get cached
[SPRNET-1235] - Switch to internal AutoProxyCreator for <tx:attribute-driven /> (sync with Spring/J)
[SPRNET-1238] - Repackage antlr 2.7.6 inside Spring.Core
[SPRNET-1240] - Add Non/TransientDataAccessException to DAO exception hierarchy
New Feature
[SPRNET-843] - VS.NET 2008 project and solutions templates
[SPRNET-1104] - NHibernate 2.1 Support
[SPRNET-1109] - Support DI in EnterpriseServices / ServicedComponent
[SPRNET-1178] - add utility methods for stable sorting of arbitrary collections
[SPRNET-1196] - Add support for Microsoft's Test Framework in AbstractDependencyInjectionSpringContextTests and related subclasses
[SPRNET-1197] - Add support for TIBCO EMS
[SPRNET-1230] - Include NH 2.1 Proxy Generator Provider in distribution
[SPRNET-1236] - NVelocity integration
[SPRNET-1237] - Implement parsing of property element in NVelocity custom namespace
[SPRNET-1243] - Add DictionaryVariableSource
Refactoring
[SPRNET-1089] - Change DoStop() in AbstractListenerContainer to protected
[SPRNET-1090] - Make AbstractSendToQueueExceptionHandler abstract
[SPRNET-1091] - Add ORIGINAL_DEFAULT_HANDLER_METHOD to MSMQ MessageListenerAdapter
[SPRNET-1234] - Change validator type hierarchy to cleanly separated simple vs. group validator types
Task
[SPRNET-627] - Add example and reference documentation to show NmsTemplate usage with MSMQ binding.
[SPRNET-1005] - Investigate AbstractObjectFactory method ContainsObject for behavior when searching parent object factory.
[SPRNET-1072] - Extend validation schema for new "FastValidate" property on ValidatorGroup
[SPRNET-1113] - Investigate propagation supports with readonly=true for NH
[SPRNET-1118] - Investigate rendering of validation errors in nested controls
[SPRNET-1137] - check possible bug w/ transactions and nhibernate integration
[SPRNET-1143] - update renamed IApplicationListener -> IApplicationEventListener interface in reference docs
[SPRNET-1165] - Compile against antlr 2.7.7.3
[SPRNET-1218] - Update to use Apache NMS 1.1
[SPRNET-1239] - Check for package cycles with NDepend
*****************************************************************************************
Release Version 1.2.0, November 10, 2008
Release Notes - Spring.NET - Version 1.2.0
Bug
[SPRNET-533] - xml <import> "directive" doesn't correctly resolve relative paths
[SPRNET-863] - Passing name of inner object to IApplicationContext.IsSingleton() throws NullReferenceException
[SPRNET-944] - Throws exception when evaluating literal 'date' in expression
[SPRNET-957] - TypeAssemblyHolder doesn't work correctly for a generic full type name
[SPRNET-966] - XML object definition parser strips whitespaces from values
[SPRNET-971] - MessageSource resource lookup throws MissingManifestResourceException
[SPRNET-988] - Add support for XmlArrayAttribute & XmlArrayItemAttribute to WebServiceProxyFactory
[SPRNET-992] - ReflectionUtils.GetConstructorByArgumentValues throws System.IndexOutOfRangeException: Index was outside the bounds of the array.
[SPRNET-996] - DataBinding null values to nullable type fails
[SPRNET-997] - IIS7 integrated pipeline "The HttpRuntime.ProcessRequest method is not supported by IIS integrated pipeline mode"
[SPRNET-1022] - MissingManifestResourceException when resolving resources in web apps
[SPRNET-1035] - VariablePlaceholderConfigurer placeholder prefix is not configurable
[SPRNET-1044] - Sync behavior of AbstractObjectFactory.GetObject( string name, object[] arguments) and .GetObject( string name, Type requiredType, object[] arguments)
[SPRNET-1060] - Issue hooking up Spring.Web.Providers.xAdapter in test unit environment
[SPRNET-1065] - Extraneous connection open in DataSet operations on AdoTemplate
[SPRNET-1066] - Wrong assembly version number used to specify CommandBuilder Type and Exception Type for SQL CE 3.5 provider
[SPRNET-1070] - SimpleMessageListenerContainer to check for null sessions and consumers when shutting down.
[SPRNET-1074] - Remove required constraint on method attribute in listener element
[SPRNET-1079] - custom namespace schema has problem with <import namespace=".." > element
[SPRNET-1084] - Telerik RadGrid Control is broken with Spring RC1
[SPRNET-1085] - Spring.Web.UI.Page throws exception when a custom ResourceProviderFactory is configured
[SPRNET-1086] - Parent/Child ObjectDefinitions are merged incorrectly
[SPRNET-1088] - SpEL doesn't allow to concat string null
Improvement
[SPRNET-605] - Improve DynamicMethodInvocation by reusing SafeMethod instance
[SPRNET-672] - Provide strategy interface to make Model persistence customizable in Spring.Web.UI.Page
[SPRNET-701] - Self-registering namespace parsers
[SPRNET-912] - Ensure line number to top level error message when there are XML parsing errors.
[SPRNET-969] - Improve dynamic reflection library for constructor and method invocations
[SPRNET-1030] - CacheResultItem should work on IEnumerable
[SPRNET-1033] - Enable short-circuit validation for validationgroup
[SPRNET-1059] - WebServiceExporter generated proxy should not access ContextRegistry.GetContext or WebApplicationContext.Current
[SPRNET-1062] - MessageHandlerAdapter for MSMQ should use Expression.Parse when dispatching handler method to avoid throwing first chance exception
[SPRNET-1068] - Improve exception handling during object definition loading
[SPRNET-1083] - Change logging level when overriding NHibernate ConnectionProvider in LocalSessionFactoryObject with Spring's IDbProvider to INFO from WARN
New Feature
[SPRNET-924] - Provide an AutoProxyCreator implementations based on object type names, class attributes, and type names
Refactoring
[SPRNET-1061] - Eliminate cyclic dependency in Spring.Web assembly Spring.Util.*/Spring.Web.Support.* namespace
Task
[SPRNET-828] - Add section on wiring .NET event to the reference documentation
[SPRNET-1007] - Remove extraneous 'bean' references in reference documentation
[SPRNET-1051] - Update to use postgresql driver 2.0.0.0
[SPRNET-1053] - Investigate NET 3.5 Service Pack 1 issues w.r.t. Spring.NET
[SPRNET-1067] - Add MySql 5.2.3 ado.net provider
[SPRNET-1082] - Bad packaging in 3.5 lib directory
*****************************************************************************************
Release Version 1.2.0 RC1, October 16, 2008
Bug
[SPRNET-899] - HttpContext.CurrenHandler returns Spring's internal PageHandler instead of real Page
[SPRNET-923] - Spring.Services generated proxies should not use explicitly ContextRegistry.GetContext or WebApplicationContext.Current direclty
[SPRNET-967] - SaoFactoryObject should cast TransparentProxies to the interface it implements before to return
[SPRNET-1008] - Add check for [Serializable] in SimpleMessageConverter
[SPRNET-1017] - Apache.NMS.ActiveMQ.ConnectionClosedException when using CachingConnectionFactory
[SPRNET-1020] - Consumer caching was not taking place for queues.
[SPRNET-1023] - Problems performing DI with Telerik RAD controls
[SPRNET-1027] - Spring Page Handler Factory does not respect EnableSessionState="ReadOnly", page setting cached until app pool reload
[SPRNET-1028] - DefaultListableObjectFactory.IsAutowireCandidate(string , DependencyDescriptor) does not search parent container
[SPRNET-1032] - <name-values> elements to not append values for same key value
[SPRNET-1047] - ObjectPostProcessors order isn't respected when mixing <object order="x"> and ObjectFactory.AddObjectPostProcessor() registrations
Improvement
[SPRNET-547] - Add Unsubscribe functionality to IEventRegistry
[SPRNET-567] - Allow parameters to be passed to Spring.Web.UI.Page.SetResult()
[SPRNET-784] - WebServiceProxyFactory support for SoapHeaderAttribute with Direction=SoapHeaderDirection.In
[SPRNET-795] - Change TransactionStatus Rollback setter property to Rollback() method so the contract of setting it to true is more explicit
[SPRNET-840] - Reduce PageHandlerFactory complexity
[SPRNET-958] - Result mapping doesn't support expressions for TargetPage
[SPRNET-960] - Allow for selection of logging level when using exception handling advice for logging
[SPRNET-995] - IsValid state of AbstractBinding should not be stored in LogicalThreadContext
[SPRNET-1016] - Apply local transaction to DataSet operations in AdoTemplate.
[SPRNET-1019] - Messaging namespace parser should support use of PropertyPlaceholderConfigurer
[SPRNET-1021] - Avoid antlr exception thrown for internal flow control when selecting handler method in MessageListenerAdapter
[SPRNET-1024] - Add AutoStartup as an attribute of the <listener-container> element
[SPRNET-1025] - Make GetObject virtual in MethodInvokingJobDetailFactoryObject and provide protected access to JobDetail object.
[SPRNET-1038] - Eliminate storing binding state to TLS in Spring.DataBinding.AbstractBinding
[SPRNET-1056] - Provide easier configuration of exception handlers in ExceptionTranslationAdvice.
New Feature
[SPRNET-711] - Add generic DI support for IHttpHandlers
[SPRNET-713] - Add support for custom .ashx IHttpHandler implementations
[SPRNET-815] - Add Sql Server Compact Edition 3.5 database provider
[SPRNET-883] - Add support for translation of exceptions using PersistenceExceptionTranslationInterceptor.
[SPRNET-936] - Add message converter to/from XML (NMS)
[SPRNET-1039] - Add support for Sybase ADO.NET 2.0 provider
[SPRNET-1040] - Support encrypting url parameters when using Page.SetResult()
[SPRNET-1046] - Move hardcoded, Spring.Web specific ISharedStateAware handling to generic SharedStateAwareObjectPostProcessor
[SPRNET-1055] - Provide ability to easily register to MessageQueueFactoryObject definitions with the container at runtime
[SPRNET-1057] - Add new 'execute' action for ExceptionTranslationAdvice
[SPRNET-1058] - Provide WCF Service export akin to those for Remoting and .asmx WebServices
Refactoring
[SPRNET-1052] - Extract "SetResult" related code into a reusable ResultNavigator component
Task
[SPRNET-1045] - Colorize code listings (XML/C#) in reference documentation
[SPRNET-1048] - Drop IProcess support from Spring.Web
[SPRNET-1050] - Provide sample configuration for using MultiDelegatingDbProvider
*****************************************************************************************
Release 1.2.0 M1, August 15, 2008
Bug
[SPRNET-542] - Spring NMS AbstractListenerContainer does not set or use the ExceptionListener correctly
[SPRNET-939] - PageHandlerFactory does not behave like original factory w.r.t missing files
[SPRNET-941] - Proxying method with generic type parameter fails when the type resolves to a value type at runtime.
[SPRNET-942] - ExceptionHandlerAdvice doesn't allow for explicitly configured Handlers
[SPRNET-945] - NameMatchTransactionAttributeSource to support conversion of string representation of transaction attributes
[SPRNET-948] - Missing dependency cycle check for request / session scoped singletons in Spring.Web
[SPRNET-949] - Scoped object dictionaries (request,session) do not match case sensitivity setting of object factory
[SPRNET-952] - ObjectCurrentlyInCreationException constructor mismatch doesn't show affected object's name
[SPRNET-954] - DeclaredParameters property is not property initialized in AdoOperation subclasses
[SPRNET-961] - Exception handling advice throws NullReferenceException when using swallow action on methods that return value types
[SPRNET-970] - TypeConversionUtils should not throw TypeMismatchException on null value for System.Nullable
[SPRNET-974] - SpEL ConstructorNode doesn't support non-public constructors
[SPRNET-975] - Object alias names are not treated according to "caseSensitive" setting
[SPRNET-985] - Autowire byType checks for UnsatisfiedDependencyException before honoring overrides
[SPRNET-986] - Constructor autowiring for array types not working
[SPRNET-988] - Add support for XmlArrayAttribute to WebServiceProxyFactory
[SPRNET-994] - Null reference in SessionFactoryUtils.GetDbProvider
[SPRNET-1002] - Object name generation when no name specified produces duplicate names
Improvement
[SPRNET-794] - Improve web-DI performance, in particular with GridViews
[SPRNET-869] - WebServiceExporter to generate WebServiceBinding attribute with WSI basic profile 1.1 by default.
[SPRNET-928] - Add nant build file and supporting tools in the release.
[SPRNET-946] - Extend code example in chapter "19.4. Connection String management" of the reference documentation
[SPRNET-947] - Singleton Cache Locks are too coarse grained for custom scopes (e.g. Request, Session)
[SPRNET-955] - Provide better error message if dbprovider name is not found in thread local storage when using MultiDelegatingDbProvider
[SPRNET-956] - Provide better error message if assembly name is not provided when specying method signature for MethodMapTransactionAttributeSource
[SPRNET-959] - Use 'invocation.Method' as variable for CacheResultAdvice Key expression resolution
[SPRNET-976] - Register WebObjectFactory with EndSession and EndRequest events only when request|session scope is really used
[SPRNET-977] - Avoid unnecessary use of HttpContextSwitch within WebObjectFactory.ConfigureObject()
[SPRNET-978] - CaseInsensitiveHashtable is not serializable
[SPRNET-999] - Add DefaultDbProvider property to MultiDelegatingDbProvider.
New Feature
[SPRNET-753] - Add ILifecycle interface
[SPRNET-896] - Allow registering custom ICollectionProcessors in SpEL MethodNode
[SPRNET-922] - NHibernate 2.0 RC1 Support
[SPRNET-953] - Allow for circular dependencies of web-scoped singletons
[SPRNET-980] - Quartz.NET Integration
[SPRNET-982] - TIBCO EMS Integration
[SPRNET-993] - Added InheritanceBasedAopConfigurer for true inheritance based AOP
[SPRNET-1000] - Configure WCF services via dependency injection and add additional behavior to them using Aspect-Oriented programming (AOP)
[SPRNET-1006] - ActiveMQ NMS integration
Task
[SPRNET-782] - Removed IApplicationContextAware.ApplicationContext getter from the interface.
[SPRNET-811] - Removed WebServiceProxyFactory.ClientProtocolType property (obsolete)
[SPRNET-990] - Removed IResourceLoaderAware.ResourceLoader getter from the interface.
[SPRNET-991] - ContextRegistry.GetContext(string name) should throw an exception if no context has been registered under that name.
*****************************************************************************************
Release 1.1.2, May 6, 2008
Bug
[SPRNET-930] - Validation user controls not rendering errors.
[SPRNET-931] - PreviousPage property is not set correctly during Server.Transfer
Improvement
[SPRNET-558] - Enable Data Validation and Model Management for UserControl
[SPRNET-785] - SessionScope / OSIV should obtain 1 EntityInterceptor per Session instance
[SPRNET-926] - Add PessimisticLockingFailureException as base class for CannotAcquireLockException, CannotSerializeTransactionException, and DeadlockLoserDataAccessException.
[SPRNET-927] - NHibernate Exception mapping improvements.
[SPRNET-932] - Create signed DLLs in debug build configuration
[SPRNET-933] - Support MethodInjection for objects declared inside the WebApplicationContext
[SPRNET-935] - Release DLLs built with /DEBUG:pdbonly
[SPRNET-937] - Add additional logging of cache inserts in Cache advice.
Task
[SPRNET-925] - Update documentation for DI in ASP.NET regarding use of name attribute and object definition inheritance
[SPRNET-938] - Add documentation for authoring custom namespace parsers
*****************************************************************************************
Release 1.1.1, April 7, 2008
Bug
[SPRNET-394] - Fix recursive calls to Context.GetRegistry()
[SPRNET-538] - Binding fails with binding to property of nullable type
[SPRNET-570] - ObjectNameAutoProxyCreator incompatible with NHibernate.LocalSessionFactoryObject
[SPRNET-576] - Allow formatting null values for .NET 2.0 Nullable Types
[SPRNET-755] - SpEL method invocation fails if the same expression instance is used with two different context types
[SPRNET-607] - TypeAliasConfigurer does not work in Spring.Web applications
[SPRNET-818] - Provide .NET TypeConverter for ITransactionAttribute
[SPRNET-820] - spring:CheckBoxList doesn't allow for <asp:ListItem> children
[SPRNET-821] - HttpRequestBindingContainer can't bind to checkboxes
[SPRNET-827] - TypedDataSetUtils should use IDbCommand instead of provider specified SqlDbCommand.
[SPRNET-829] - Named constructor argument metadata should be stored/compared using consistent CultureInfo
[SPRNET-838] - 404 exception handling in NET 1.1 does not work as expected / differs from standard behaviour
[SPRNET-845] - OSIV/SessionScope generates the wrong key for EntityInterceptorObjectName
[SPRNET-846] - ProxyFactory allows for advisors being added twice
[SPRNET-847] - Implementations of AbstractPointcurAdvisor.Equals() and .GetHashCode() are wrong
[SPRNET-852] - Creating a custom attribute did not take into account public field values that match the named arguments in the attribute declaration.
[SPRNET-853] - Throw HibernateSystemException (part of Spring's DAO exception hierarchy) when can not translate inner exception in NHibernate.ADOException
[SPRNET-854] - Fix NullReferenceException in HibernateAccessor when SqlString in ADOException is null.
[SPRNET-860] - Placeholders not resolved in name-values element
[SPRNET-861] - Couldn't resolve internal properties in Strong Typed resources in Web Application
[SPRNET-862] - Resolve object references that use the Spring expression language while parsing config files
[SPRNET-871] - GenericApplicationContext.ctor(IApplicationContext) always throws NullReferenceException
[SPRNET-872] - Resolve WebResources relative to HttpContext.Current.Request.FilePath
[SPRNET-873] - ReadCommitted was misspelled in spring-tx-1.1.xsd
[SPRNET-874] - Null reference accessing TransactionSynchronizationManager.CurrentTransactionIsolationLevel when no Spring managed transaction is active
[SPRNET-877] - IConfigurableFactoryObject instance cannot be proxied with the AOP auto proxy functionality
[SPRNET-880] - Logging exception handler should continue processing of exception handler chain.
[SPRNET-882] - Test "ExistsValidHttp" fails
[SPRNET-886] - IInitializingObject isn't honored in case of calls to ConfigureObject()
[SPRNET-891] - Failure to create hiearchical context with depth greater than two.
[SPRNET-893] - Retry advice goes into infinite loop when exception type not listed in advice is thrown
[SPRNET-902] - DbProvider ExtractError method should explicitly perform ToString operation on object returned from SpEL expression to obtain error code
[SPRNET-908] - ReflectionUtils.MethodIsOnOneOfTheseInterfaces does not correctly iterate over multiple interface types
[SPRNET-920] - AbstractObjectFactory.GetObject(name,requiredType,arguments) does not propagate 'requiredType' and 'arguments' ParentObjectFactory
Improvement
[SPRNET-531] - It is not possible to call Page.SetResult() outside the page (e.g. from a Control)
[SPRNET-558] - Enable Data Validation and Model Management for UserControl
[SPRNET-559] - Change ValidationError control to enable Message resolution for UserControl
[SPRNET-762] - De-couple the url from the actual object definition name in WebServiceExporter
[SPRNET-772] - Distribute Northwind sql server 2005 data files to provide easy 'out-of-the-box' running of NHibernate example application.
[SPRNET-783] - Take TypeConverters into account in SpEL numeric aggregate functions
[SPRNET-785] - SessionScope / OSIV should obtain 1 EntityInterceptor per Session instance
[SPRNET-799] - Add support for IBinding.SetMessage() to DataBindingPanel
[SPRNET-814] - Improve Spring.Web DataBinding error handling ("SetErrorMessage()") documentation
[SPRNET-824] - Make WebApplicationContext and WebObjectFactory accessible from non Web threads
[SPRNET-830] - Improved performance in Spring.Data by optimizing reflection calls.
[SPRNET-835] - Add additional convenience method to set TableAdapter transaction/connection properties using DbProvider.
[SPRNET-841] - Add option to specify external hibernate configuration files (hibernate.cfg.xml) in LocalSessionFactoryObject
[SPRNET-842] - Using DbProvider to configure LocalSessionFactory object will by default integrate with NHibernate's 'external connection' management feature
[SPRNET-855] - Update Oracle error code mapping to include ORA-2292 as a DataIntegrityViolationCodes
[SPRNET-856] - Add 03000 as BadSqlGrammarCode and 40001 as CannotSerializeTransactioncode for Postgress providers.
[SPRNET-857] - Improved MySql provider error code mappings for DataIntegrityViolationCodes
[SPRNET-858] - Added IDbProvider implementation, UserCredentialsDbProvider, to allow changing of username, password connection strings at runtime.
[SPRNET-859] - Add addtional constructor to MultiDelegatingDbProvider that takes dictionary of target name/providers.
[SPRNET-864] - Add additional result mapping variable prefix what will not clash with PropertyPlaceholderConfigurer
[SPRNET-867] - Add line number to top level error message when there are XML parsing errors.
[SPRNET-879] - LocalSessionFactoryObject can configure ISessionFactory to use Spring's IDbProvider as a NHibernate ConnectionProvider
[SPRNET-887] - Add support for asp:HiddenField in DataBindingPanel
[SPRNET-897] - Allow binding/unbding string.Empty to nullable types
[SPRNET-898] - Add additional ICollectionProcessors to SpEL
[SPRNET-901] - Extend SpEL selection with mysql-like LIMIT functionality
[SPRNET-905] - RollbackRuleAttribute checks for null Type and null or empty string in constructor
[SPRNET-906] - Build scripts generate unique revision numbers for assemblies
[SPRNET-910] - Updated DB2 codes for exception translation
[SPRNET-913] - Add convenience method in Spring.Web.UI.Page/UserControl to navigate to a Result using a user provided object for result expression evaluation.
[SPRNET-914] - Add convenience method to get the Spring.Web.UI.Page Result as a url
[SPRNET-915] - Add additional CannotSerializeTransactionCodes for Oracle providers
[SPRNET-916] - Add additional BadSqlGrammarCode for Postgres
[SPRNET-917] - Add additonal db error codes for exception translation for Oracle and MySql providers
[SPRNET-918] - Add property to enable/disable logging of return value in SimpleLoggingAdvice
[SPRNET-919] - Update NHibernate sample application to use NHibernate 1.2.1
New Feature
[SPRNET-892] - Introduce <spring:Panel> control for finer grained control over when to perform DI on user controls
[SPRNET-907] - Add Required attribute and RequiredObjectFactoryPostProcessor, allowing to enforce required object properties
[SPRNET-911] - Provide ParameterValidationAdvice to use validation framework to validate method arguments.
Task
[SPRNET-587] - Add example of validation usage in middle tier services
[SPRNET-689] - Add more documentation describing ITransactionAttributeSource implementations.
[SPRNET-775] - Document using a custom IFactoryObject to help with configuring embedded resources
[SPRNET-780] - Valdiation example for ASP.NET refers to wrong namespace.
[SPRNET-809] - Update to NHibernate 1.2.1
[SPRNET-819] - Add Multiselection samples (CheckListBox, ListBox) to WebQuickStart DataBindingPanel sample
[SPRNET-826] - Add section about manually registering objects with the container ("registersingleton" etc.)
[SPRNET-831] - SpringAir html doesn't pass VS2005 default validation (not xhtml transitional)
[SPRNET-849] - Add "SetErrorMessage" sample to Data Binding section in reference docs
[SPRNET-865] - Add Documention for the expression attribute.
[SPRNET-866] - Support .NET 1.1 for NHibernate 1.2
[SPRNET-875] - Documentation incorrectly lists Unspecified as default isolation level, should be ReadCommitted.
[SPRNET-885] - Add doc for <spring:Panel> server control usage
[SPRNET-909] - Document that WebServiceExporter does not add WebServiceBinding attribute with WSI basic profile 1.1 by default.
*****************************************************************************************
Release 1.1 final, December 7, 2007
Bug
[SPRNET-448] - TransactionTimeout setting not being applied correctly.
[SPRNET-453] - ConversionUtils should use ConvertFromInvariantString if failed to convert string value.
[SPRNET-511] - UrlResource Exists only returns true for file://
[SPRNET-606] - Problems with Attributes in proxy generation
[SPRNET-719] - PropertyPlaceholderConfigurer does not replace property values in <list element-type=${prop}>
[SPRNET-723] - Head control renders not XHTML valid script tag
[SPRNET-752] - Implement advanced DataSet related methods in AdoTemplate
[SPRNET-759] - Wrong assembly named used to configure NHibernate12's SessionFactory property ExposeTransactionAwareSessionFactory
[SPRNET-760] - StoredProcedure.DeclaredParameters.AddOut("A", OracleType.Cursor); causes double ':' in Oracle10g stored procedure call
[SPRNET-761] - Fix use of Nested Transactions in TxScopeTransactionManager.
[SPRNET-767] - Generic AdoTemplate CommandTimeout property does not set corresponding ClassicAdoTemplate property
[SPRNET-769] - Resume and throw exception if exception is thrown at start of transaction.
[SPRNET-770] - Nested RequiresNew propagaion options not working in AdoPlatformTransaction manager .
[SPRNET-778] - AdoExceptionTranslator in HibernateTransactionManager did not have a default value
[SPRNET-779] - NHibernateTransactionManager can not convert AdoAcessException
[SPRNET-796] - AdoTemplate not using DbMetadata for CommandBuilderDeriveParamtersMethod
[SPRNET-800] - SimpleLoggingAdvice does not correctly check for logging level other than trace.
[SPRNET-802] - Default IsolationLevel should be ReadCommitted.
Improvement
[SPRNET-497] - Print 'resultName's value if Page.SetResult() is called with a non-existant result name
[SPRNET-514] - dbproviders.xml configuration should allow for an optional 'DeriveParameters' method.
[SPRNET-555] - Improve ResourceSetMessageSource documentation and add example for ASP.NET 2.0
[SPRNET-756] - Add protected method to ErrorCodeExceptionTranslator to allow for a subclass to first attempt exception translation.
[SPRNET-766] - Add support for Sybase provider
[SPRNET-768] - Add support for ODBC provider
[SPRNET-774] - Add Designmode support for DataBindingPanel
[SPRNET-793] - Add Execute methods missing in Generic.AdoTemplate but present in non-generic version.
[SPRNET-797] - Make it such that DefaultTransactionStatus property Rollback can only be set to true
[SPRNET-803] - Allow web service base type to be configurable in WebServiceExporter.
Task
[SPRNET-203] - Add test coverage for Spring.Net Web module
[SPRNET-217] - QuickStart documents for Spring.Air
[SPRNET-421] - Document programmatic use of data validation framework
[SPRNET-457] - ErrorCode translation can produce extraneous UncategorizedDataAccessException
[SPRNET-516] - Improve documentation on Spring.Data DataSet functionality
[SPRNET-574] - NHibernate and custom loader
[SPRNET-590] - Include use of Spring's implementation of NHibernate's ICurrentSessionContext in demo appliation.
[SPRNET-610] - AOP documentation improvements
[SPRNET-682] - Change vs.net 2002 solution to be Spring.Net.1.1.2002.sln
[SPRNET-708] - Remove "UniqueID" based usercontrol DI sample from web reference docs
[SPRNET-726] - Improve Spring.Data.NHibernate docs w.r.t FlushMode.Never in OSIV
[SPRNET-744] - update assembly version numbers to current builds in dbproviders.xml
[SPRNET-764] - NUnit 2.4.3 GUI-runner not executing Spring.Testing.NUnit based tests linked to NUnit 2.4.1.
[SPRNET-773] - Unit tests for ServiceDomainTransactionManager
[SPRNET-776] - Unit tests for AdoPlatformTransactionManager
[SPRNET-777] - Provide 10,000 ft intro page on spring.net features on web site
[SPRNET-781] - Add new providers added to dbproviders.xml to spring-dataase-1.1.xsd
[SPRNET-786] - Fix Spring.Data related projects in Spring VS2003 solution
[SPRNET-787] - add examples for DataBindingPanel to WebQuickStart
[SPRNET-788] - integrate Spring.Web.Tests with NUnitAspEx to support real HttpRuntime-integrated tests
[SPRNET-798] - Add overview documentation from web site into reference docs
*****************************************************************************************
Release 1.1 RC2, October 15, 2007
(Note: A bug in the dbproviders.xml file was discovered shortly after the initial release of 1.1 RC2. A new version was uploaded with the same name. This should not present a problem, but if you have trouble creating an OracleODP-2.0 provider, please download again as it may take up to a day for the proxy servers to get updated)
Bug
[SPRNET-297] - Cannot proxy ODP.NET OracleConnection
[SPRNET-500] - ProxyFactoryObject attempts to add all interfaces target implements even if ProxyInterfaces property is set
[SPRNET-659] - Page doesn't allow to specify neutral cultures for CultureResolver
[SPRNET-664] - Add description and show usage of Spring's WebSupportModule to documentation.
[SPRNET-667] - Update Common.Logging documentation to point to NetCommon sourceforge project web site.
[SPRNET-684] - Remove duplicate logging when completing transaction after thrown exception.
[SPRNET-685] - Rethrow exception during transaction manager rollback or commit and log correctly.
[SPRNET-686] - CacheResultAdvice should cache 'null' return values
[SPRNET-687] - AspNetCache does not differentiate cache-keys if several instances with different names exist
[SPRNET-688] - Registered transaction syncrhonizations should not have to implement IComparator. Add support for implemented Spring's IOrdered interface (optional).
[SPRNET-690] - AbstractSpringContextTests is not caching ApplicationContexts
[SPRNET-692] - Incorrect metadata in dbproviders.xml for parameterDbTypeProperty for OracleODP-2.0
[SPRNET-696] - AbstractMessageSource messes parameters when calling ParentMessageSource
[SPRNET-704] - UserControl's SharedState doesn't reload after changing/recompiling .ascx file
[SPRNET-706] - Page.DataBound and Page.DataUnbound events are only raised if Binding collection is not empty
[SPRNET-709] - SpEL fails evaluating expression
[SPRNET-710] - DotNetMock based AbstractMessageSourceTests and MessageSourceAccessorTests have both "false positives" and "false negatives"
[SPRNET-714] - SessionFactory not bound to thread local storage if DbProvider for HibernateTransactionManager is null
[SPRNET-715] - SpringSessionSynchronization did not close hibernate session with a nested transaction with TransactionPropagation.NotSupported
[SPRNET-716] - Create new session if thread local storage SessionHolder is marked as SyncrhonizedWithTransaction.
[SPRNET-721] - Intercept all target interfaces when using an introduction with ObjectNameAutoProxyCreator
[SPRNET-722] - ReflectionUtils.getMostSpecificMethod() throws exception when handling Generic methods with the same parameter signature and different generic types
[SPRNET-725] - Concurrency problem with Spring.Expressions.PropertyOrFieldNode.Set()/.Get()
[SPRNET-727] - MethodMatchTransactionAttributeSource does not correctly return transaction attributes on candidate target object if method registered using MethodInfo object is based on an interface
[SPRNET-728] - Add missing ExecuteFind<T> method on IHibernateOperations interface
[SPRNET-731] - OSIV configuration doesn't work as described in reference docs
[SPRNET-733] - PropertyOverrideConfigurer on abstract object definition does not work
[SPRNET-734] - Northwind FulfillmentServiceTests are broken
[SPRNET-739] - fix NHibernate12 solution + nant build script
[SPRNET-746] - StoredProcedure class doesn't return sproc return value in result dictionary
[SPRNET-749] - AdoTempate's QueryCallback did not property extract return or output values from stored procedure.
[SPRNET-750] - Add the property UseParameterPrefixInSql to IDbMetadata
Improvement
[SPRNET-301] - Add IInstantiationAwareObjectPostProcessor functionality
[SPRNET-399] - Simplify custom config parser registration
[SPRNET-454] - PropertyPlaceholderConfigurer should be able to modify the values within expression elements
[SPRNET-485] - Add logging of transaction definition name and description when creating new transaction.
[SPRNET-486] - Provide better logging information in TransactionSynchronizationManager to identify ConnectionHolder, DbProvider and thread name
[SPRNET-679] - ResourceManagerConverter should throw a sensible exception in case of missing App_GlobalResources
[SPRNET-683] - Change type of "TimeToLive" parameter in ICache.Insert from int to TimeSpan
[SPRNET-697] - Refactor SessionScope initialization strategy
[SPRNET-705] - Page.SharedState must be discarded by PageHandler after .aspx recompile
[SPRNET-712] - Change ICache interface to be the least common denominator of potential cache implementations
[SPRNET-717] - Add default transaction timeout property on AbstractPlatformTransactionManager
[SPRNET-718] - Make node classes in SpEL public to allow for node traveral.
[SPRNET-720] - Change ObjectNameAutoProxyCreator default behavior to proxy the product of a IFactoryObject and not the IFactoryObject itself
[SPRNET-729] - Improve API documentation in NHibernate12 project using comment-checker program
[SPRNET-730] - Make current AppDomain's config file the default for RemotingConfigurer if filename==null
[SPRNET-732] - CollectionValidator should allow validation of any IEnumerable type
[SPRNET-740] - SpEL doesn't accept unicode characters
[SPRNET-742] - Exception handling aspect supports using SpEL expression as filtering condition as alternative to use of exception name.
[SPRNET-745] - Improved PropertyOverrideConfigurer to support 'ref' and 'expression' values override
New Feature
[SPRNET-344] - Add the ability to bind to collections to data binding framework
[SPRNET-614] - Logging aspect based on Common.Logging
[SPRNET-693] - Add MultiDelegatingDbProvider to main distribution to support easy access to multiple databases selected at runtime.
[SPRNET-748] - Retry Advice
Task
[SPRNET-495] - Add information on how to configure Spring under IIS7 to reference documentation
[SPRNET-544] - Update to use Common.Logging 1.2
[SPRNET-736] - Remove NHibernate integrations from CVS Integration module
[SPRNET-738] - Document configuring aop Namespace parser
[SPRNET-747] - Add description of how to do assembly redirects for database assemblies.
Release 1.1 RC1, August 10, 2007
Summary: Feature and bug fix release
Bug
[SPRNET-452] - Improve application context configuration error handling
[SPRNET-475] - ContextRegistry.GetContext() should print a detailed error
[SPRNET-583] - WebApplicationContext.Refresh() should be thread-safe
[SPRNET-607] - TypeAliasConfigurer does not work
[SPRNET-641] - MessageSource related code does not consistently use CultureInfo.CurrentUICulture as default
[SPRNET-642] - ObjectFactory must not call 'ObjectType' or 'GetObject()' of an IFactoryObject before calling IInitializingObject.AfterPropertiesSet()
[SPRNET-643] - ApplicationContextAwareProcessor and ObjectPostProcessorChecker may be registered twice on AbstractApplicationContext.Refresh()
[SPRNET-649] - AbstractLocalizer should by default use Thread.CurrentUICulturer instead of CurrentCulture
[SPRNET-650] - Introductions with AutoProxy
[SPRNET-655] - Proxy a Proxy where class explicitly implements interfaces with same method names and signatures
[SPRNET-658] - Npgsql-1.0 provider has incorrect configuration for parameter name prefix
[SPRNET-662] - DynamicMethod will call target method twice is target throws InvalidCastException
[SPRNET-666] - Change Log4NetFactoryObject to LogFactoryObject in documentation for IFactoryObject implementations (4.3.6)
[SPRNET-671] - Possible Null reference in HibernateAccessor.PrepareQuery
[SPRNET-675] - SpEL does not allow access to private/protected indexer
[SPRNET-677] - ReflectionUtils.GetMethodByArgumentValues() does not choose an exact overload match if available
Improvement
[SPRNET-443] - Add support for SqlLite in DbProviders.xml
[SPRNET-461] - Support accessing WebApplicationContext from asynchronous worker threads
[SPRNET-469] - Add Generics support in Spring.Data.Object.* classes (e.g. support IRowMapper<T>)
[SPRNET-478] - Enhance the use of multiple object definition parsers
[SPRNET-481] - DelegateFactoryObject/MethodInvokingFactoryObject does not support generic methods
[SPRNET-490] - Make Model persistence customizable in Spring.Web.UI.Page
[SPRNET-565] - TxScopePlatformTransaction manager to support EnterpriseServicesInteropOption
[SPRNET-578] - Additional documentation for IVariableSource
[SPRNET-585] - Change spring-database.xsd to use 'provider' instead of 'dbprovider' element since it looks redundant in usage, i.e <db:dbProvider> instead of <db:provider>
[SPRNET-603] - Ignore missing local resources for asp.net 2.0 pages and user controls
[SPRNET-635] - Refactor implementation regarding finding correct overloaded factory-method
[SPRNET-644] - Make IConfigurableFactoryObject members of WebServiceProxyFactory virtual
[SPRNET-648] - Make ResourceSetLocalizer ignore missing invariant resourceset
[SPRNET-651] - In Spring.Caching.AspNetCache/Spring.Web replace usages of HttpContext.Current.Cache with HttpRuntime.Cache
[SPRNET-654] - Expose method ConfigureObject( name, target, objectDefinition ) on IListableObjectFactory and all implementations
[SPRNET-660] - Make configurable the choice of reflection library used in AOP proxies.
[SPRNET-661] - Rename CheckBoxListControl -> CheckBoxList and make it a first class citizen for DataBinding
[SPRNET-663] - Change signature of IVariableSource to string ResolveVariable(string name) instead of object return value to provide consistent contract with container property replacement..
[SPRNET-665] - Enable RegistryVariableSource to deal with REG_MULTI_SZ and REG_DWORD values
[SPRNET-668] - Throw InvalidDataAccessApiUsageException if calling Execute<T>(ICommandCallback<T> action) with a provider whose IDbCommand implementation does not inherit from System.Data.Common.DbCommand.
[SPRNET-669] - Provide IDbProvider to IDbCommandCreator callback to simplify implementations that want to create parameters in provider neutral manner.
[SPRNET-673] - Rename XmlParserRegistry/IXmlObjectDefinitionParser to NamespaceParserRegistry/INamespaceParser for greater naming consistency.
[SPRNET-674] - Renaming/Moving of namespace parsers into Config subnamespace, renaming of *.xsd files to *-1.1.xsd for greater naming consistency
[SPRNET-681] - Add support for DB2 iSeries dbprovider.
New Feature
[SPRNET-549] - Support for setting of TableAdapters transaction property for using typed data sets within a Spring demarcated transactional boundary
[SPRNET-556] - Add support for <httpModule> DI
[SPRNET-557] - Add DI support asp.net 2.0 intrinsic providers (membership,role,profile,sitemap)
[SPRNET-560] - Add custom HtmlForm tag to overcome "action"-Attribute rendering troubles
[SPRNET-599] - Create SessionScope based on top of current OSIV functionality
[SPRNET-647] - Add TabularMultiView control
[SPRNET-676] - Exception handling aspect for simple declarative configuration of common exception handling strategies.
Task
[SPRNET-434] - Document ResourceHandlersSectionHandler to register custom IResource implementations
[SPRNET-439] - Refactor TransactionAspectSupport to use LogicalThreadContext for storage of TransactionInfo
[SPRNET-612] - Transaction quick start example to use tx schema and declarative exception handling advice.
[SPRNET-638] - Additional documentation regarding how NHibernateSessions are managed by both HibernateTransactionManager and OSIV
[SPRNET-646] - Document use of Client Certificates in WebServiceProxyFactory
*****************************************************************************************
Release 1.1 Milestone 2, July 11, 2007
Summary: Primarily a bug fix release
Bug
[SPRNET-501] - TxScopeTransactionManager's PromotableTxScopeTransactionObject property TransactionScope is always null.
[SPRNET-517] - Factory method IoC instantiation is not finding correct overloaded method.
[SPRNET-552] - Generic AdoTemplate to support Execute callbacks with IDbCommand as callback argument in addition to current DbCommand callback argument.
[SPRNET-613] - Recursive setting of ExposeTransactionAwareSessionFactory property in LocalSessionFactoryObject for NH12
[SPRNET-617] - Change aop namespace element from proxy-target-class to proxy-target-type
[SPRNET-621] - AbstractMessageSource does not correctly respect 'UseCodeAsDefaultMessage' when used within a hierarchical application context.
[SPRNET-624] - Support for nested transactions using TxScopeTransactionManager.
[SPRNET-625] - TxScopeTransaction manager did not copy declarative transaction information to TransactionOptions and TransactionScopeOption
[SPRNET-630] - AbstractObjectDefinitionReader did not correctly set default IResourceLoader
[SPRNET-631] - AdoTemplate.DataSet DataSetCreate(CommandType commandType, string sql, string[] tableNames) not using tableNames parameter
[SPRNET-633] - Allow multiple calls to proceed in AOP around advice
[SPRNET-634] - AutoProxyCreators does not take into account IFactoryObject when finding candidates advisors/aspects.
Improvement
[SPRNET-140] - Add IVariableSource and VariablePlaceholderConfigurer allowing property placeholder data to be easily extensible to other data sources.
[SPRNET-443] - Add support for SqlLite in DbProviders.xml
[SPRNET-482] - Update MqSql support to use latest 1.0.9 release
[SPRNET-483] - Add support for MySql 1.0.9/5.0/5.1 drivers
[SPRNET-586] - Change name of IRowMapper's method argument IDataReader from 'dataReader' to 'reader'
[SPRNET-608] - Change transaction namespace element from proxy-target-class to proxy-target-type
[SPRNET-623] - Add additional functionality to TransactionSynchronizationManager (name, isolation level, etc) to level of Spring Java 2.x
[SPRNET-626] - BindingManager Configuration is not reloaded if UserControl or Page is modified
[SPRNET-632] - Update to use Common.Logging 1.1
[SPRNET-636] - Add provider support for DB2 9.0/9.1 databases
[SPRNET-637] - Add provider support for SqlLite database
New Feature
[SPRNET-528] - Add AOP proxy type cache
[SPRNET-563] - Add CommonLoggingAroundAdvice in Calculator & Northwind sample
[SPRNET-629] - Add GenericApplicationContext to simplify creation of ApplicationContext from any (i.e. non XML) source of ObjectDefinitions
Task
[SPRNET-253] - Document object scope in web tier.
[SPRNET-525] - Document use of InternalsVisibleTo assembly attribute to apply AOP to internal classes.
[SPRNET-584] - Add AssemblyInfo.cs for those projects under ./src that are missing them in order to have AssemblyTitle and AssemblyDescription set correctly.
[SPRNET-601] - Add tests for the new ProxyTargetAttributes property (Spring.Proxy and Spring.Aop)
[SPRNET-618] - Change MySql.Data.MySqlClient alias to refer to MySql 5.1 provider
*****************************************************************************************
Release 1.1 Milestone 1, June 1, 2007
Summary: In addition to bug fixes and various improvements to existing features, this
release adds integration with NHibernate 1.0 and 1.2, NUnit, and ASP.NET AJAX.
Other new features are the introduction of aop and transaction namespace
to simplify configuration of aop and delcartive transaction managment.
Bug
[SPRNET-356] - Accessing HttpContext.Cache may throw an exception
[SPRNET-384] - Spring.Remoting.RemotingConfigurer.Filename within Windows Service
[SPRNET-385] - Cast to IAdvised wrong behavior
[SPRNET-391] - Table 4.5. - Duplicate entry
[SPRNET-392] - Section 4.5.3. Typos
[SPRNET-405] - ApplicationContext.ConfigureObject() doesn't process IApplicationContextAware, IMessageResolvable etc.?
[SPRNET-407] - BaseNode is not serializable
[SPRNET-420] - Page.IsPostBack is always false during PreInit in NET 1.1
[SPRNET-425] - Throw CannotGetAdoConnectionException when not able to retrieve Connection
[SPRNET-427] - Different access levels for property getter/setter cause exception
[SPRNET-428] - DynamicReflection doesn't work in DEBUG build if reflected properties are defined in transient modules
[SPRNET-431] - Concurrency issues in DynamicReflectionManager
[SPRNET-435] - Fallback translator should always throw uncategorized exception
[SPRNET-436] - Rollback for TxScopeTransactionManager should call TransactionScope.Dispose(), not System.Transactions.Transaction.Current.Rollback()
[SPRNET-438] - AdoTemplate QueryWithRowMapperDelegate always returns empty list.
[SPRNET-447] - Incorrect class level documentation on Spring.Validation.ExclusiveValidatorGroup
[SPRNET-449] - Spring.Util.CachedTypeResolver doesn't synchronize access to it's typecache
[SPRNET-450] - Numeric enum values not handled correctly by Spring.Expressions.PropertyOrFieldNode
[SPRNET-451] - Improve? support for Nullable Types in Spring.Expressions
[SPRNET-455] - Validation does not work properly if at least one error message is not specified
[SPRNET-460] - Remove "NotImplementedException" in TxScopeTransactionManager
[SPRNET-462] - Method cannot be matched by argument types when null value is passed as an argument
[SPRNET-466] - Stored Procedure call throws System.ArgumentOutOfRangeException if no NamedResultSetProcessors are declared.
[SPRNET-468] - AdoTemplate.AdoResultProcessorsQueryCommandCallback throws IndexOutOfRangeExeption on empty namedResultSetProcessors list
[SPRNET-470] - System.Type properties can't be evaluated by Spring.Expressions
[SPRNET-474] - Content (NET 1.1 version) control's "ContentPlaceHolderId" should match NET 2.0 name
[SPRNET-476] - Fix Spring.Web runtime setup (LogicalThreadContext, default resource protocol etc.)
[SPRNET-477] - ValidationConfigParser doesn't allow for XML comments
[SPRNET-479] - AbstractXmlApplicationContext does not correctly dispose an existing ObjectFactory during RefreshObjectFactory()
[SPRNET-487] - StoredProcedure doesn't return any rows
[SPRNET-489] - Aspects do not work with OUT of REF parameters
[SPRNET-494] - PropertyOrFieldNode can't resolve shadowed properties or fields
[SPRNET-498] - Make UserControl.Controller property virtual
[SPRNET-500] - ProxyFactoryObject attempts to add all interfaces target implements even if ProxyInterfaces property is set
[SPRNET-502] - PropertyOrFieldNode.GetPropertyInfo() should change to GetMemberInfo()
[SPRNET-505] - Proxies should be decorated with target attributes (type, method, parameter, return value attributes)
[SPRNET-509] - Web DI does not work in case of URL-rewriting
[SPRNET-515] - Multiple result sets not handled correctly in AdoTemplate in calls to IDictionary Query(...) and IDictionary Query IDictionary QueryByNamedParam(...)
[SPRNET-520] - WebServiceProxyFactory throws "MissingMethodException" on non-W3K machines
[SPRNET-522] - AOP ProxyFactoryObject seems to lack thread safety
[SPRNET-523] - DynamicReflectionManager race condition
[SPRNET-526] - ProxyFactoryObject recreates ProxyType on each call to GetObject() if non-singleton
[SPRNET-527] - AdvisedSupport lacks synchronization
[SPRNET-532] - Spring.Web.UI.Control.Head should derive from System.Web.UI.HtmlControl.HtmlHead for compatibility
[SPRNET-534] - When using an Oracle SP that only contains an output parameter through the StoredProcedure class, a System.IndexOutOfRangeException is thrown
[SPRNET-535] - Exception handling within AbstractPlatformTransactionManager causes loss of stackinformation
[SPRNET-536] - ContentReplacer resolves contentPlaceholderID incorrectly in case of Master templates
[SPRNET-537] - DbParametersBuilder did not copy size of each declared parameter when creating final IDbParameter collection
[SPRNET-543] - No output parameter is returned when using StoredProcedure with a stored procedure that only returns an output parameter.
[SPRNET-551] - DefaultTransactionStatus.HasTransaction() has reversed logic
[SPRNET-554] - Add a BooleanFormatter to Spring.Globalization.Formatters
[SPRNET-568] - Threading problems with dynamic type generation
Improvement
[SPRNET-140] - Source of property placeholder data should be extensible.
[SPRNET-189] - Code duplication: resolving Ant style properties to environment variables.
[SPRNET-364] - ObjectNameAutoProxyCreator support for *xxx* pattern matching of object name in addition to "*xxx" and "xxx*"
[SPRNET-402] - Refactor ValidationErrors and delay the resolution of error messages.
[SPRNET-403] - Extract GetRedirectUri(object page) method from Result.DoRedirect() so it can be called independently
[SPRNET-423] - replace hardcoded html-tags with HtmlTextWriterTag enum values
[SPRNET-429] - Replace hardcoded HTML tag names with appropriate constants
[SPRNET-437] - Make Spring.Expressions serializable
[SPRNET-445] - Enable PropertyPlaceholderConfigurer to use the values from the standard connectionStrings section
[SPRNET-446] - Expression Language array initializer should allow for array size to be specified
[SPRNET-456] - Add support for set operations (union, intersection, difference) to expression language
[SPRNET-459] - Improve ObjectWrapper performance
[SPRNET-463] - Make Page / Control BindingManager's CacheKey customizable
[SPRNET-464] - Allow for "null" values and variable parameter lists in Spring.Expressions
[SPRNET-472] - Add Controller property to UserControl for easier switching databinding target
[SPRNET-473] - Allow users to specify root context and variables for the expressions within object definitions
[SPRNET-480] - Allow WebServiceClientFactory to generate proxy from a wsdl file
[SPRNET-484] - Add error reporting when Common.Logging can't load FactoryAdapter.
[SPRNET-496] - AttributeMatchMethodPointcut does not take into account implemented interfaces with method attributes
[SPRNET-506] - Introduce notion of templates and product templates within container.
[SPRNET-513] - Use of Dynamic Reflection in Spring.Aop
[SPRNET-539] - Add additional ctor argument XmlApplicationContext to supress refresh
[SPRNET-572] - Example project showing Spring.NET NHibernate features.
[SPRNET-581] - Refactor Advisor inheritance hierarchy to sync with Spring Java 2.0
[SPRNET-582] - Add custom parser infrastructur classes to aid with parsing of custom namespaces, sync with Spring Java 2.0
New Feature
[SPRNET-278] - Implement commonly used validators (email, SSN, URL, credit card, etc.)
[SPRNET-285] - ASP.NET AJAX integration to allow access in JavaScript to container objects as WebService
[SPRNET-408] - Add TypeConverter for Nullable types
[SPRNET-430] - Add collection validator to data validation framework
[SPRNET-541] - Allow registration of custom resource handlers, type aliases, and type converters within standard <objects> configuration section.
[SPRNET-545] - Add Transaction namespace to simplify configuration of declarative transactions
[SPRNET-546] - Add AOP namespace to simplify use of AOP.
[SPRNET-571] - Add support for using plain NHiberatne API and participating in Spring managed transactions via custom ICurrentSessionContext implementation.
[SPRNET-573] - Spring NHibernate support
[SPRNET-580] - NUnit integratraion
Task
[SPRNET-186] - Add Introductions Example to AOP Quickstart
[SPRNET-234] - Bundle SpringAir as self contained solution
[SPRNET-389] - Change how object id is generated when using ASP.NET pages
[SPRNET-400] - Can not run applications if Spring installed in GAC
[SPRNET-424] - Create NUnit task that runs in own process.
[SPRNET-432] - Remove System.Web dependency from Spring.Core
[SPRNET-512] - Merge WebServiceClientFactory & WebServiceProxyFactory
[SPRNET-566] - Update to NUnit 2.4.1
*****************************************************************************************
Release 1.1 Preview 3, December 6, 2006
Summary: This release is contains bug fixes and various improvements to existing features.
Major new features such as a Transaction Management Abstraction, ADO.NET data access framework,
and Spring "Services" allowing plain .NET objects to be exported as ServicedComponents,
Remoted objects, or Web Service.
Bug
[SPRNET-146] - Dependencies not injected into controls within Repeater
[SPRNET-225] - A Problem with Javascript and clientID of Master Page form like "Error: Expected ';' " (If use IE)
[SPRNET-254] - SpringAir WebServices doesn't work.
[SPRNET-260] - Concurent initialization of WebApplicationContext
[SPRNET-293] - Support for TransparentProxy in AOP Proxies
[SPRNET-294] - Page.PreviousPage.Items contents lost
[SPRNET-295] - Using soap header information in an exported PONO doesn't work
[SPRNET-315] - Circular reference not detected in web applications
[SPRNET-318] - IDisposable singletons with request or session scopr are not disposed of.
[SPRNET-319] - TypeConverterRegistry throws ArgumentException for valid converterTypeName
[SPRNET-325] - Hierarchical context issue
[SPRNET-327] - Objects section have to be named "objects" to be validated.
[SPRNET-328] - Converting a string value to IResource during property resolving in a Webapplication uses FileSystemResource
[SPRNET-329] - DefaultWebCultureResolver.GetDefaultLocale() throws exception on unknown Browserlanguage
[SPRNET-332] - Create a Proxy without Target
[SPRNET-333] - Some URLs generated can not be parsed by firefox
[SPRNET-334] - missing dependency injection on UserControl.LoadControl()
[SPRNET-335] - Duplicate context registration
[SPRNET-336] - Hierarchical context issue in Web application.
[SPRNET-337] - DataBinding stops working after Spring.Objects.InvalidPropertyException
[SPRNET-340] - CompositionProxyBuilder _targetMethods syncronization
[SPRNET-341] - AopContext not thread safe
[SPRNET-342] - Root context for the expression not updated properly
[SPRNET-345] - Base path should be ignored when relative path starts with slash
[SPRNET-346] - SessionHolder syncronization
[SPRNET-347] - Nested Contexts don't work in Web Applications
[SPRNET-350] - DynamicProxy doesn't support generic method declarations
[SPRNET-351] - Nested Child Contexts don't work in Web Applications
[SPRNET-354] - Update log4net version and use .NET 2.0 version
[SPRNET-356] - Accessing HttpContext.Cache may throw an exception
[SPRNET-358] - Creation via Factory Method does not support System.Type arguments.
[SPRNET-359] - WebObjectFactory and XmlObjectFactory behave differently regarding circular references
[SPRNET-360] - CacheAdvice does not take into account the parameters passed to the method
[SPRNET-365] - Page DI does not work on Server.Transfer
[SPRNET-367] - CaoExporter lifetime properties are not applied to the CAO
[SPRNET-368] - AutowireConstructor(string, RootObjectDefinition, object[]) does not work in some cases
[SPRNET-369] - Relative resources does not work with WebResource
[SPRNET-373] - .aspx, .ascx paths in object-definitions "type"-attribute don't resolve correctly
[SPRNET-374] - Use IDictionary.Item property instead of IDictionary.Add method to avoid ArgumentException in Spring.Expressions.PropertyOrFieldNode
[SPRNET-376] - ContextRegistry.Clear does not work with contexts registered by configuration
[SPRNET-377] - WebServiceHandlerFactory should not treat every Spring object as a Web Service
[SPRNET-379] - 'value' Attribute in spring objects schema does not allow empty strings
[SPRNET-393] - WebSupportModule throws exception if SessionState is not set to In-Process
[SPRNET-398] - Control DI doesn't work if @OutputCache directive is used
[SPRNET-413] - Sync issues in Common.Logging Adapter implementations
Improvement
[SPRNET-58] - multi-value support in NameValueCollection
[SPRNET-174] - Refactor XmlObjectDefinitionReader inline with changes from Spring 1.2.4
[SPRNET-175] - replace log4net with something like SLF4J
[SPRNET-249] - Possibility to add other attributes than WebMethodAttribute to the WebServiceExporter
[SPRNET-270] - New Data Binding implementation
[SPRNET-273] - Spring.Web ASP.NET 2.0-compliant
[SPRNET-312] - Preserve exception stack trace in AOP proxy
[SPRNET-330] - Duplicate code in WebObjectDefinitionParser.CalculateId() and WebUtils.GetPageName()
[SPRNET-331] - FileSystemResource doesn't handle files under contention
[SPRNET-352] - Dynamic proxy code refactoring to remove duplicate code
[SPRNET-362] - ProxyTypeBuilder should apply target type/method attributes to the generated proxy.
[SPRNET-366] - Allow CAO to be disconnected from the client
[SPRNET-370] - Add support for cross-application mapping with WebResource
[SPRNET-371] - Make use of the newly Spring.Data module in SpringAir sample
[SPRNET-375] - Allow regular expression pointcut to specify RegexOptions
[SPRNET-380] - Enable data binding within user controls
[SPRNET-390] - Add Expressions support from the IoC container
[SPRNET-395] - Add the abiliity to configure additional type-level attributes to WebServiceExporter
[SPRNET-403] - Extract GetRedirectUri(object page) method from Result.DoRedirect() so it can be called independently
[SPRNET-406] - Allow BasePath-Placeholder in "configFile" configuration element for Common.Logging.Log4net.XXX Adapters
New Feature
[SPRNET-35] - Add data validation support to Spring.Web
[SPRNET-207] - Dynamic Proxy to create MarshalByRefObject objects
[SPRNET-243] - Support hosting of SaoServiceExporter in IIS
[SPRNET-267] - Design time support for Spring.Web
[SPRNET-269] - Create rendering strategies for validation controls
[SPRNET-276] - Add the ability to reference Spring-managed objects to Expression Evaluator
[SPRNET-353] - Support ProxyTargetType=true in Aop Proxies
[SPRNET-378] - Enable Spring.Expressions to be used for DI
[SPRNET-383] - Added RemotingConfigurer convenience class to configure remoting infrastructure from Spring
[SPRNET-415] - ADO.NET Data Access Framework
[SPRNET-416] - Transaction Management abstraction supporting programmatic and declarative transactions for any persistence technology.
[SPRNET-417] - AOP support for for classes with virtual methods/properties
[SPRNET-419] - Create Logging framework to remove dependencies on specific log implementation (i.e. log4net)
Task
[SPRNET-157] - Add XML config snippets chapter to reference documentation
[SPRNET-183] - Add IResource documentation chapter
[SPRNET-230] - DocBook callouts are broken in PDF stylesheet
[SPRNET-253] - Document object scope
[SPRNET-280] - Documentation for Validation Framework
[SPRNET-284] - Revert to old implementation of WebServiceProxyFactory
[SPRNET-321] - Documentation of code examples in C# code needs to be modified in order to conform to Document X! parsing rules.
[SPRNET-322] - Remove dependency on Log4Net
[SPRNET-323] - Unit tests for AutoProxy functionality
[SPRNET-324] - Update to use Antlr.NET 2.7.6
[SPRNET-343] - Reset Binding.IsValid to true after processing
[SPRNET-382] - Move Spring.Interop from Spring.Services to Spring.Interop.Iiop integration project
[SPRNET-397] - Implement expression parser that will allow for simpler attribute definitions in config files
[SPRNET-410] - Create vs.net 2003 solution for web quick start
[SPRNET-411] - Update docs for bi-direction data binding in Spring.Web
[SPRNET-412] - Create docs for Common.Logging
[SPRNET-418] - Create Data Access quick start application showing using of Spring.Data ADO.NET framework
*****************************************************************************************
Release 1.0.2, April 27, 2006
Summary: This release is contains bug fixes, new features and various improvements to existing features.
Release Notes - Spring.NET - Version 1.0.2
Bug
[SPRNET-170] - Provide thread safety of IApplicationContext/IObjectFactory when retrieving lazy-init singletons.
[SPRNET-193] - ResourceSetMessageSource Not Falling Back To Base Resources
[SPRNET-244] - Registration of custom XML parsers should not use section name starting with 'config'.
[SPRNET-247] - ExpressionEvaluatorTests class ignores Culture of test box
[SPRNET-250] - Instrumentation code shouldn't use CutureInfo.CurrentUICulture as a formatter for debug messages
[SPRNET-256] - Parent objects cannot be referenced via their aliases in child object defintions
[SPRNET-262] - CopyTo method error in Spring.Collections.LinkedList
[SPRNET-263] - LinkedList Contains(object value) throws exception if list is empty. Contains(null) also fails.
Improvement
[SPRNET-179] - Support setting of .NET Generic Collection Properties of type IList, IDictionary
[SPRNET-261] - StringArrayConverter must not use the ListSeparator of the current Culture
[SPRNET-275] - Refactor ProxyBuilder code
[SPRNET-304] - Support concurent access to ContextRegistry.
[SPRNET-305] - ReflectionUtils.ToInterfaceArray method to take inherited interfaces into account
[SPRNET-306] - Added bool Contains method to CollectionUtils
[SPRNET-307] - Changed IApplicationContext.DisplayName property name to IApplicationContext.Name
[SPRNET-308] - Added ConfigurationUtils to encapsulate configuration framework differences between .NET 1.1 and 2.0 in one place
[SPRNET-309] - Added TypeConverterRegistry and implemented section handler for 'typeConverters' config section.
[SPRNET-313] - Use Innovasys Document X! to generate SDK documentation instead of NDoc.
New Feature
[SPRNET-101] - Added IInstantiationAwareObjectPostProcessor interface to IObjectFactory lifecycle
[SPRNET-120] - Add Method Injection Functionality
[SPRNET-248] - Add support to set indexer properties
[SPRNET-277] - Implement support for custom actions in the config parser
[SPRNET-298] - Add support for .NET 2.0 generics
- Creation of gernic types
- Dependency injection for generic collection properties (IList, IDictionary)
- Register generic type aliases for more concise configuration
- Generic Factory methods.
[SPRNET-302] - Object expression evaluation language - replaces object navigator
[SPRNET-303] - Added IQueue interface and a PriorityQueue implementation
[SPRNET-310] - Added AOP AutoProxy functionality
[SPRNET-311] - Added Validation Framework
Task
[SPRNET-131] - Support .NET Framework 2.0
[SPRNET-246] - Document differences in ResourceManager.GetObject behaviour in .NET 2.0
[SPRNET-255] - Classes using Regexs are inconsistently named
[SPRNET-264] - Create strongly signed assemblies for ANTLR
[SPRNET-265] - Document AOP AutoProxy functionality
[SPRNET-279] - Test cases for Validation framework
[SPRNET-300] - Documentation for Expressions support
[SPRNET-314] - Use InstallShield instead of VS.NET solution to generate distribution file.
*****************************************************************************************
Release 1.1 Preview 2, November 16, 2005
Release 1.0.1, November 16, 2005
Summary: This release is contains bug fixes, new features and various improvements to existing features.
Bug
[SPRNET-112] - IListableObjectFactory should treat factory methods as special case
[SPRNET-144] - Fix Request Scope on object defintions
[SPRNET-192] - PropertyPlaceholderConfigurer does not work on IFactoryObject's property
[SPRNET-198] - Support overriden 'New' properties on a subclass that change the type of the property.
[SPRNET-200] - ObjectWrapper can not set property if it is a transparent proxy.
[SPRNET-201] - Exceptions from proxies are not being unwrapped from TargetInvocationException.
New Feature
[SPRNET-6] - Create SaoFactoryObject to access SAO on client.
[SPRNET-56] - Create SaoServiceExporter to export and configure SAO on server
[SPRNET-82] - Add Type aliasing for more concise configuration
[SPRNET-116] - Allow configuration of the IoC container internals - resource handler, xml parsers.
[SPRNET-168] - Add case insensitivity option for object names for better web support.
[SPRNET-181] - Add support for the <alias/> element tag in the XML object definition format
[SPRNET-240] - Create IRemoteFactory implementation to retrieve obtain CAO/SAO objects via
.NET Remoted ObjectFactory.
[SPRNET-241] - Create QuickStart application to showcase .NET Remoting features
Task
[SPRNET-191] - Document config of params arguments
[SPRNET-195] - Rename ILocaleResolver to ICultureResolver
[SPRNET-196] - Move ILocaleResolver from Spring.Web to Spring.Core
[SPRNET-197] - Create archived (ZIP / TAR.GZ) files of the latest release.
[SPRNET-221] - Document the semantics of the IsSingleton property of ProxyFactoryObject
[SPRNET-222] - Document using prototype targets with the ProxyFactoryObject
[SPRNET-226] - Change references from DebugInterceptor to DebugAdvice in reference documentation
[SPRNET-229] - Document the use of prototype targets with AOP proxies
[SPRNET-232] - Document how target cannot be specified at end of InterceptorNames for ProxyFactoryObject
[SPRNET-236] - Document Page.GetMessage Resources Not Falling Back To Base Resources without 1.1 SP1
[SPRNET-218] - Add Clover.Net output to CC.NET implementation
Improvement
[SPRNET-142] - StringArrayConverter to automatically trim spaces
[SPRNET-166] - ColorConverter to support more options.
[SPRNET-173] - Refactor RootBeanDefinition ctors inline with 1.2.4 release of Spring
[SPRNET-190] - AbstractFactoryObject To Supply IDisposable-style callback for singletons
[SPRNET-223] - Remove ability to list target name as last element in interceptor list.
[SPRNET-228] - Add documentation for creating advisor using AttributeMatchMethodPointcut
[SPRNET-237] - AbstractObjectFactory.GetObject to support calling constructor with array of arguments
[SPRNET-238] - Expose UserCulture setter within UserControl, in addition to getter
[SPRNET-239] - Use CultureInfo.CreateSpecificCulture instead of new CultureInfo to create culture instances
*****************************************************************************************
Release 1.0.0, September 14, 2005
Summary:
This release is primarly a bug fix and documentation enhancement release. Minor new features were added.
** Bugs
[SPRNET-121] - Cannot proxy type declared as an inner class
[SPRNET-123] - ControlFlowPointcut breaks when method is jitted away
[SPRNET-148] - Implement methods in StaticListableObjectFactory and StaticMessageSource that throw NotImplementedException
[SPRNET-152] - Hyperlinks in pdf docs not showing correctly.
[SPRNET-158] - Remove Spring.Objects.Factory.NoSuchObjectDefinitionException thrown for flow control.
[SPRNET-159] - CachedTypeResolver check for a null typeName parameter
[SPRNET-163] - The 'clean' target of the NAnt build is broken
[SPRNET-176] - ContextHandler passes wrong arguments to DescendantContextInstantiator GetContextConstructor()
Fix incorrect processing of resources as applied to child and parent contexts that would create extraneous singleton instances.
[SPRNET-178] - ThrowsAdvice should not examine InnerExceptions
** New Features
[SPRNET-167] - Configuration of custom collections
[SPRNET-171] - Expose PropertyComparator's SortDefinition
[SPRNET-185] - ContextRegistry.GetContext instantiates IApplicationContext from spring/context configuration section
** Tasks
[SPRNET-149] - Tests for IResource implementations to recognize '~'
[SPRNET-150] - Docs for PropertyResourceConfigurer NameValueCollection.Add behavior
[SPRNET-153] - DocBook HTML Help program listings not styled as per others
[SPRNET-154] - 'example programs' link on 1.0 RC1 forum announcement not working
[SPRNET-162] - Detail NameValueSectionHandler configuration in ASP.NET for PropertyXXXConfigurer
[SPRNET-165] - aop-quickstart.html not packaged in .msi
** Improvements
[SPRNET-115] - Add .NET Compact Framework Support. Prebuilt Assemblies not part of distro
[SPRNET-143] - StringArrayConverter to use Culture specific list separator
[SPRNET-170] - Thread safety of IApplicationContext/IObjectFactory
[SPRNET-172] - Expose more information in the ToString of the various IObjectDefinition implementations
[SPRNET-180] - Use log4net in MovieFinder example.
[SPRNET-182] - Sync ProxyFactory / ProxyFactoryObject API with Spring.Java 1.2.4
Added the missing AddAdvice / RemoveAdvice to the IAdvised interface.
Removed convenience Add/Remove methods for BeforeAdvice, ThrowsAdvice and Interceptor
*****************************************************************************************
Release 1.0 RC1, August 14, 2005
Summary:
This release is both a feature enhancement and bug fix release to the core
container and adds an AOP framework
** Bug
[SPRNET-55] - PropertyResourceConfigurer should not use NameValueCollection.Add(NameValueCollection)
[SPRNET-74] - thread unsafe access to application registry
[SPRNET-84] - MovieFinder example has misnamed file
[SPRNET-85] - ApplicationListener not receiving ApplicationContext events
[SPRNET-105] - ContextRegistry Silently Overwrites Contexts With The Same Name
[SPRNET-130] - Object instantiation through Factory should not require class attribute
[SPRNET-132] - DefaultListableObjectFactory should not throw an exception when MessageSource is not defined
** New Features
[SPRNET-43] - Add support for loosely coupled event wiring in configuration file and app context creation
[SPRNET-86] - IResource implementations to recognize '~'
[SPRNET-151] - AOP framework
** Tasks
[SPRNET-3] - VS.NET help integration
[SPRNET-31] - Document AOP features
[SPRNET-45] - FxCop code review
[SPRNET-47] - build examples as part of nant build script.
[SPRNET-48] - move Spring.Context.Tests into Spring.Core.Tests
[SPRNET-76] - Finish documentation for quickstart examples
[SPRNET-98] - Include block and architecture diagrams in the reference documentation
[SPRNET-99] - Build file needs a finer granularity for build targets
[SPRNET-109] - Investigate ConfigurableResourceLoader support for FTP
[SPRNET-110] - Investigate ResourceConverter support for ${property} expansion
[SPRNET-114] - Drop Support For Java Style Property Object Configuration
[SPRNET-119] - Update example apps to use streamlined XML config syntax.
[SPRNET-124] - ObjectsDtd.ClassAttribute constant is at odds with accepted naming conventions
[SPRNET-125] - ProxyBuilder TargetClass & BaseClass properties at odds with accepted naming conventions
[SPRNET-126] - ObjectsDtd class is inappropriately named
[SPRNET-128] - IClassFilter name is at odds with accepted naming conventions
[SPRNET-138] - Describe the lazy initialization of objects in the reference documentation
** Improvements
[SPRNET-2] - Integration with System.ComponentModel components dropped.
[SPRNET-111] - XmlObjectFactory now only supports instantiation via the IResource abstraction
[SPRNET-113] - ApplicationEvent refactoring
[SPRNET-122] - remove asserts on exception messages
[SPRNET-129] - IMethodMatcher should use MethodInfo exclusively
[SPRNET-139] - Add support for aliased arrays in the TypeAliasResolver class
[SPRNET-147] - Add factory-method example with constructor arguments.
[SPRNET-36] - Final pass over Spring.Java codebase to merge refactorings.
The SPRNET-36 changes consisted of synching with Spring.Java 1.2.2 - major changes were
Spring.Objects namespace
- added IDictionary GetObjectsOfType(Type type) to IListableObjectFactory
- added IObjectDefinition GetObjectDefinition(string name) to IConfigurableObjectFactory
- added circular references check exception
- refined ObjectWrapperImpl and PropertyPlaceholderConfigurer to never log property values (which might be sensitive data)
- added "GetObjectPostProcessorCount" method to ConfigurableObjectFactory interface
- added "IgnoreDependencyInterface" method to AbstractAutowireCapableObjectFactory and ConfigurableListableObjectFactory
- reworked AbstractAutowireCapableObjectFactory's dependency exclusion check to support ignored dependency interfaces
- AbstractAutowireCapableObjectFactory registers ObjectFactoryAware as default ignored dependency interface
- Factored out ObjectDefinitionVisitor from PropertyPlaceholderConfigurer, making the object definition traversal reusable
- ConstructorArgumentValues holds generic ValueHolders in a List instead of a Set now, keeping their definition order
- ConstructorArgumentValues offers "Get(Generic)ArgumentValue" variant that excludes already used ValueHolders
- AbstractAutowireCapableObjectFactory applies generic constructor argument values of the same type in definition order
- factored out ObjectDefinitionValueResolver helper class from AbstractAutowireCapableObjectFactory
- added InstantiationAwareObjectPostProcessor extension of ObjecPostProcessor interface, intercepting before instantiation
- added ObjectReferenceFactoryObject, allowing for exposure of a target object under a different name (effectively an alias)
- refined AbstractObjectFactory's "GetType" to only suppress specific exceptions like ObjectCurrentlyInCreationException
- refined AbstractAutowireCapableObjectFactory's "autowireConstructor" to only suppress UnsatisfiedDependencyException
- added "value"/"ref" attributes to XML "property"/"constructor-arg" tag, as shortcut alternative to child elements
- added "key" sub-element to XML "entry" tag for maps, allowing for inner beans, refs, values etc specified as key
- added "key-ref" attribute to XML "entry" tag for maps, as shortcut alternative to a key element with "ref bean="
Spring.Context namespace
- AbstractApplicationContext registers MessageSourceAware/ApplicationContextAware/etc as ignored dependency interfaces
- fixed AbstractApplicationContext to not exclude dependencies of type MessageSource/ApplicationContext/etc by default
- AbstractApplicationContext logs message when a bean is not eligible for getting processed by all ObjectPostProcessors
- fixed GenericApplicationContext to correctly propagate the internal parent ObjectFactory in case of a "SetParent" call
- GenericApplicationContext detects a passed-in ResourceLoader that implements ResourcePatternResolver and uses it
*****************************************************************************************
Release 0.6 Release Candidate 3 March 30, 2005.
Summary:
This is both a feature enhancement and bug fix release.
Breaking changes from RC2 are the removal of the DTD. The XML schema file
is used to validate the XML instead. RC2 assemblies were delay signed, if you
disabled assembly verification for any reason, enable it again. The RC3 assemblies
are strongly named.
Changes:
** Bug
[SPRNET-54] - ConfigurationReader does not close resource stream
[SPRNET-57] - Empty string not allowed as value for name-values collection
[SPRNET-59] - Remove delay signing and generate stronly named assemblies.
[SPRNET-62] - Inner IDisposable objects belonging to prototypes were autodestroyed
[SPRNET-63] - Set default namespace if omitted.
[SPRNET-68] - Invoke in EventUitls not throwing base exception.
** New Feature
[SPRNET-33] - Add support for configuration of existing objects. Refer to the configure methods on IObjectFactory.
[SPRNET-38] - Create IObjectPostProcessor for environment variable expansion
[SPRNET-46] - Add factory class to create log4net log object
[SPRNET-53] - Type converter for Color from RGB CSV
** Task
[SPRNET-37] - Update to NAnt 0.85rc1
[SPRNET-49] - Documentation for MethodInvokingFactoryObject
[SPRNET-64] - Upgrade to NUnit 2.2
[SPRNET-65] - Upgrade to .NET Mock 0.7.4
** Improvement
[SPRNET-29] - Add support for schema validation and drop DTD
[SPRNET-51] - argument names for contructors and MessageInvocationFactory
[SPRNET-61] - Add convenience methods to load Properties
[SPRNET-66] - Display line numbers in errors and object definition resource descriptor
[SPRNET-69] - Sync with Spring.Java APIs and refactorings.
SPRNET-72] - Release with strongly named assemblies
* Various miscellaneous documentation improvements and code cleanup.
*****************************************************************************************
Release 0.6 Release Candidate 2 February 6, 2005.
Summary:
This is both a feature enhancement and bug fix release.
Breaking changes from the first release candidate to be aware of are
changes to the DTD and the use of a new configuration section handler
to create hierarchical contexts. Spring.Context.dll and
Spring.Collections.dll where removed and their classes placed in
Spring.Core.dll. Refer to the example programs and documentation
for more information if you are upgrading from 0.6 RC1.
Changes:
* Moved Spring.Collections and Spring.Context dlls/namespaces to Spring.Core dll.
* Introduced threading utilities in Spring.Threading namespace.
* Introduced object pooling utilities in Spring.Pool namespace.
* Introduced object navigation support in Spring.Navigation namespace.
* Introduced loosely coupled eventing in Spring.Objects.Events namespace.
* Introduced pluggable URI based loading of application contexts. Supports file, http, https, config and embedeed assembly resource locations.
* Introduced ContextRegistry as a service locator to retrieve IApplicationContext.
* Introduced custom configuration section handler (ContextHandler) to create IApplicationContexts from custom configuration section.
* Introduced AppContext and EventRegistry example programs.
* Added GetSingletonCount() method to AbstractObjectFactory, returning the number of objects in the singleton cache.
* Added support for relative resource creation to URL and AssemblyResource. Refactored common code into base class AbstractResource. (SPRNET-23)
* Added support for configuration of 'read-only' collection properties (ISet, IDictionary, IList).
* Added support to create ConfigSectionResource using URI string, i.e. config://<sectionName> (SPRNET-22)
* Added convenience method to IMessageSource to use CurrentUICulture
* Added generation of User Documenation in HTML Help (.chm) format (SPRNET-4)
* Added support for retrieval of resource objects from IMessageSource
* Changed IMessageSource to use variable arguments for replacement text values instead of object array.
* Removed Close() and DestroySingletons() in IConfigurableObjectFactory and IConfigurableApplicationContext and replaced with use of IDisposable interface. (SPRNET-19)
* Removed Spring.Objects.Factory.Access and Spring.Context.Access namespace and contained classes. Use ContextRegistry instead for service locator style access.
* Removed Spring.Context.Support.ApplicationContextHandler, use ContextHandler instead.
* Removed Spring's IDisposableObject interface and replaced with standard .NET IDisposable. (SPRNET-18)
* Fixed parsing of CDATA sections (SPRNET-27)
* Fixed use of namespace in custom configuration section of .NET application configuration file. (SPRNET-1)
* Fixed validation of custom configuration section against DTD. (SPRNET-13)
* Fixed solution file to support building when base directory contains spaces (SPRNET-10)
* Fixed System.ArgumentOutOfRangeException in Spring.Util.Properties (SPRNET-26)
* Fixed registration of abstract IObjectPostProcessors and IObjectFactoryPostProcessor
* Improvements to user documentation.
DTD/XSD
* Added 'abstract' element to XSD, was accidentally omitted.
* Changed 'class' to 'type' in DTD/XSD
* Changed <map> to <dictionary> in DTD/XSD
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化