Expression Language
------------------
1. Changed TypeNode syntax from
type('qualifiedTypeName')
to
T(qualifiedTypeName)
which is a bit shorter and doesn't require (or allows) type name to be quoted.
2. Changed ReferenceNode syntax from
@ctx:obj
to
@(ctx:obj)
in order to allow '@' character to be used for other purposes as well, such as for AttributeNode definitions (new in 1.1)
3. Changed string literal escape character from \ (backslash) to ' (single quote).
The only character that needs to be escaped in Spring.Expressions is single quote, and using standard .NET escape character, backslash, to do that lead to all kinds of problems
with literal strings containing standard .NET escape characters or regular expressions escape characters. Now you only need to double up the single quote if it is needed within
the string -- everything else is copied verbatim and resolved by .NET instead.
Configuration
-------------
1. Renamed ResourcesSectionHandler to ResourceHandlersSectionHandler and changed resource handlers configuration section schema from
to
The new class and element names better reflect the purpose of this configuration section and help to avoid confusion with the context/resources section.
Changes (RC2 to final)
-----------------------------------
Spring.Data
1. Added additional method to IDbProvider to format parameter names when creating IDataParameter. Will affect code only if you created your own IDbProvider implementation.
Changes (RC2)
-----------------------------------
Spring.Core
1. Changed TimeToLive parameter from int to TimeSpan in ICache
Changes (M2 to RC1)
-----------------------------------
These changes are driven primarily by the removal of dependency cycles. Some changes were made to have a consistent naming pattern
Spring.Core
1. Refactored XmlResourceReader into interface IObjectDefinitionDocumentReader and class DefaultObjectDefinitionDocumentReader
2. IObjectFactory - removed convenience method ConfigureObject(object target) that would simply delgate to ConfigureObject(object target, string name) with the full type name of the target.
3. Moved GetObjectDefinition methods from IListableObjectFactory to IConfigurableListableObjectFactory to remove dependency cycle.
4. Moved IConfigurableObjectDefinition from namespace Factory.Config to Factory.Support to remove dependency cycle (property MethodOverrides)
5. Removed DependencyCheck and MethodOverrides property from IObjectDefinition to remove dependency cycle.
6. Moved ObjectDefinitionHolder from Factory.Support for Factory.Config to removed dependency cycle (ObjectDefinitionVisitor)
7. Moved ObjectFactoryHandler from Spring.Objects.Support to Spring.Objects.Factory.Xml.ObjectFactorySectionHandler
8. Moved PropertyChangeEventArgs from Spring.Objects to Spring.Core
9. Moved exceptions from Spring.Objects to Spring.Core to remove dependency cycle between Spring.Objects and Spring.Expressions
Added ReflectionException and FatalReflectionException to Spring.Util
10. Moved ICriteria implementations from Spring.Objects.Support to Spring.Core to remove several dependency cycles (ControlFlowFactory)
11. Moved ConversionUtils from Spring.Util to Spring.Core to remove dependency cycle.
12. Moved ObjectUtils from Spring.Objects to Spring.Util
13. Moved TypeRegistry and related classes from Spring.Context.Support to Spring.Core.TypeResolution
14. Renamed ConverstionUtils to TypeConversionUtils
15. Split TypeResolver into non-generic (TypeResolver) and generic version GenericTypeResolver
16. Moved Expressions.MethodNode.GetMethodByArgumentValues to ReflectionUtils.
17. Moved ReferenceNode from Spring.Expressions to Spring.Context.Support to remove dependency cycle with Spring.Context.
18. Moved Spring.Objects.Support.CriteriaMemberFilter to Spring.Core to remove dependency of Spring.Objects.Events on Spring.Objects.Support.
19. Moved Spring.Objects.TypeConverters to Spring.Core.TypeConvesion
20. Renamed XmlParserRegistry to NamespaceParserRegistry and IXmlObjectDefinitionParser to INamespaceParser
21. Renamed DefaultXmlObjectDefinitionParser to ObjectsNamespaceParser
Renamed WebObjectDefinitionParser to WebObjectsNamespaceParser
Renamed spring-objects.xsd to spring-objects-1.1.xsd
Renamed Spring.Validation.ValidationConfigParser to Spring.Validation.Config.ValidationNamespaceParser
Renamed spring-validation.xsd to spring-validation-1.1.xsd and moved to Spring.Validation.Config
22. Renamed ConfigurationParserAttribute to NamespaceParserAttribute
23. Renamed ConfigParsersSectionHandler to NamespaceParsersSectionHandler
24. Moved Spring.Util.DynamicReflection to Spring.Reflection.Dynamic
Spring.Aop
1. Moved DefaultAopProxyFactory and CachedAopProxyFactory to Aop.Framework.DynamicProxy
2. Removed Spring.Aop.Advice.DebugAdvice
3. Removed Spring.Aop.Advice.CacheAdvice (New Spring.Aspects.Cache.CacheAspect functionality)
Spring.Web
1. Moved HttpContextSwith from Context.Support to Spring.Util.
2. Moved SupportsWebDependencyInjectionMethodBuilder and SupportWebDependencyInjectionTypeBuilder from Spring.Proxy to Spring.Web.Support
3. Moved methods CreatePageInstance, GetControlType, and GetPageType from Spring.Util.WebUtils to new class Spring.Objects.Factory.Support.WebObjectUtils
4. Moved method InjectDependenciesRecursive from Spring.Util.WebUtils to new class Spring.Web.Support.WebDependencyInjectionUtils
5. Moved Spring.Util.ControlInterceptor, IInterceptionStrategy, InterceptControlCollectionOwnerStrategy, InterceptControlCollectionStrategy,
SupportsWebDependencyInjectionOwnerProxy to Spring.Web.Support
6. Moved WebResource from Spring.Web.IO to Spring.Core.IO
7. Moved Spring.Web.Validation to Spring.Web.UI.Validation
8. Moved Spring.Web.Process.AbstractProcess to Spring.Web.Support.AbstractProcessHandler
9. Added SlidingExpiration property to AspNetCache object and removed from BaseCacheAttribute
Spring.Data
1. Moved TransactionTemplate, TransactionDelegate and ITransactionCallback from Spring.Data to Spring.Data.Support to remove dependency cycle
2. Moved AdoTemplate, AdoAccessor, AdoDaoSupport, RowMapperResultSetExtractor from Spring.Data to Spring.Data.Core
3. Moved AdoPlatformTransactionManager, ServiceDomainPlatformTransactionManager, and TxScopeTransactionManager from Spring.Data to Spring.Data.Core
4. Moved ErrorCodes from Spring.Data.Support to Spring.Data.Common to remove dependency cycle
5. Moved IDataReaderWrapper from Spring.Data.Support to Spring.Data
6. Changed schema to use 'provider' instead of 'dbProvider' element, usage is now and not
7. Moved namespace parser from Spring.Data to Spring.Data.Config namespace.
8. Renamed from DatabaseConfigParser to DatabaseNamespaceParser
9. Renamed schema spring-database.xsd to spring-database-1.1.xsd
10. Changed target schema from http://www.springframework.net/schema/tx to http://www.springframework.net/tx
Spring.Services
1. Moved Spring.Remoting.RemotingConfigParser to Spring.Remoting.Config.RemotingNamespaceParser
Changes (M2 to RC1)
-----------------------------------
Spring.Aop
1. Changed DSL for exception handling.
Instead of "on ArithmeticException log 'Logging an exception thrown from method ' + #method.Name"
now use "on exception name ArithmeticException log 'Logging an exception thrown from method ' + #method.Name
Basically add the words 'exception name' after the word 'on'