Spring.Net v2.0.0-GA Release Notes

Release Date: 2015-03-29 // about 9 years ago
  • ๐Ÿ†• 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

    Detailed Issues

    ๐Ÿ› 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)
    0๏ธโƒฃ [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)
    0๏ธโƒฃ [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
    0๏ธโƒฃ [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<K,V> 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