Release Notes - JBoss AOP - Version 2.0.0.SP1
Bug
- [JBAOP-675] - AOP weaved code needs to appropriately generate Privileged Blocks
Sub-task
- [JBAOP-676] - Fix calls to Class<?>.getClassLoader() that are outside a privileged block
- [JBAOP-677] - VFSClassLoaderDomainRegistry calls ClassLoader.getParent() outside a PA block
Release Notes - JBoss AOP - Version 2.0.0.GA
Bug
- [JBAOP-669] - Compiler report feature does not support paths pointing to directories
Feature Request
- [JBAOP-388] - Allow specification of the exception type for after-throwing advice
- [JBAOP-668] - Revisit release structure
Task
Thirdparty Change
- [JBAOP-670] - Upgrade to jboss-mdr 2.0.0.GA
- [JBAOP-671] - Upgrade jboss-reflect to 2.0.0.GA
Release Notes - JBoss AOP - Version 2.0.0.CR20
Feature Request
- [JBAOP-667] - Refactor how scoped classloaders are handled in AS5
Release Notes - JBoss AOP - Version 2.0.0.CR19
Bug
- [JBAOP-654] - Hotswap tests are failing
- [JBAOP-659] - Add all aop classes to aop client
- [JBAOP-660] - VerifyError on Illegal bytecode generated with cross-package inheritence
Feature Request
- [JBAOP-636] - Update javassist and get rid of hack in Instrumentor.addMixinMethod()
- [JBAOP-643] - Document array interception
Thirdparty Change
Release Notes - JBoss AOP - Version 2.0.0.CR18
Bug
- [JBAOP-629] - Synchronize addBinding and removeBinding to avoid duplicate operations
- [JBAOP-646] - Advisor.updateXXXPoitncutAfterRemove methods don't add the advisor to binding's advisor list
- [JBAOP-655] - ClassifiedBindingAndPointcutCollection creates PointcutInfos with null bindings
- [JBAOP-656] - JoinPointClassifier.methodAccessor returns constructor execution pointcuts
- [JBAOP-657] - The pointcut contained in a binding is not being removed when the binding gets removed
Feature Request
- [JBAOP-574] - Doc requirement to write ClassLoaders that return class files as resources
- [JBAOP-603] - Use Pointcut Classification during Instrumentation
- [JBAOP-644] - Remove dependency of AOP on VFSDeploymentUnit
- [JBAOP-645] - Remove dependency of AOP on ServiceMBeanSupport
- [JBAOP-647] - Make deployment of base-aspects.xml configurable and undeploy on shutdown of aspectmanager service
- [JBAOP-650] - Support use of system properties in created annotations
- [JBAOP-652] - Break up asintegration module
- [JBAOP-653] - Replace ClassifiedBindingAndPointcutCollection lock by AOPLock
- [JBAOP-658] - Index InterceptionMarkers by classloader
Task
Sub-task
- [JBAOP-638] - Move pointcuts and pointcutInfos into ClassifiedBindingCollection, and rename to ClassifiedBindingAndPointcutCollection
- [JBAOP-639] - Move AM.transformationStarted into WeaverStrategySupport
- [JBAOP-640] - Honour inheritsBindings in DomainClassifiedBindingCollection, and rename to DomainClassifiedBindingAndPointcutCollection
- [JBAOP-641] - Move the pointcutStats into ClassifiedBindingAndPointcutCollection
Release Notes - JBoss AOP - Version 2.0.0.CR17
Bug
- [JBAOP-569] - Deadlock when two threads are removing a binding
- [JBAOP-623] - SystemOutLoggerPlugin dumps trace level to the console for ALL projects that log
- [JBAOP-628] - ClassCastException when querying ConstructionInvocation meta data
- [JBAOP-630] - Deadlock in beforeafter tutorial example
- [JBAOP-631] - Transformation of generated joinpoint classes causes deadlock
- [JBAOP-632] - Race condition when starting EJBContainer
- [JBAOP-634] - UnmodifiableEmptyCollections$LockedArrayList is not truly unmodifiable
Feature Request
- [JBAOP-635] - Make woven in fields and wrapper methods synthetic
Release Notes - JBoss AOP - Version 2.0.0.CR16
Bug
- [JBAOP-591] - Metadata tutorial example is broken
- [JBAOP-617] - Fix hotswap
- [JBAOP-618] - AspectManager.getTempAdvisorIfNotExist causes infinite loop
- [JBAOP-620] - ClassAdvisor.rebuildInterceptorsFor[Removed/Added]Binding methods do not update deprecated collections
- [JBAOP-622] - ClassAdvisor.isAdvisable(Method) should ignore access$ methods
- [JBAOP-624] - ScopedClassLoaderDomain should use its classloader to create aspects
- [JBAOP-626] - Dynamic invocation of unadvised methods not supported on genadvisor mode
- [JBAOP-627] - AspectManagerAnnotationLoaderStrategy.undeployPrecedence() tries to remove a pointcut rather than a precedence
Feature Request
Release Notes - JBoss AOP - Version 2.0.0.CR15
Bug
- [JBAOP-605] - InstanceDomain.addBinding does not update pointcut collection
- [JBAOP-606] - JBoss AOP does not support multi-class loader standalone environments
- [JBAOP-613] - AspectDeployer.deployAnnotations() unwind on error causes IndexOutOfBoundsException
Feature Request
- [JBAOP-607] - Refactor AspectAnnotationLoader to have pluggable mechanism once annotations are read
- [JBAOP-610] - Allow the use of "this" in annotated named pointcuts, typedefs etc.
Release Notes - JBoss AOP - Version 2.0.0.CR14
Bug
- [JBAOP-531] - Array replacement bytecode triggers VerifyError
- [JBAOP-590] - Implements tutorial test is broken
- [JBAOP-594] - Packaging tutorial example is not working
- [JBAOP-599] - Doc Section "4.2.2 Application Server XML Resolving" shouldn't talk about "outside of the application server"
- [JBAOP-600] - JRockitPluggableClassPreProcessor prevents jvmti agents from working with jrockit
- [JBAOP-604] - AccessControlException in class.debugWriteFile() when running with JRockit with -Djboss.aop.debug.classes=true
Feature Request
- [JBAOP-578] - Optimize removal of bindings
- [JBAOP-579] - Implement pointcut classification, and take into account when building chains
- [JBAOP-595] - AopC should validate the presence of mandatory attributes/inner elements
- [JBAOP-602] - Make install script copy pluggable-instrumentor.jar and jrockit-pluggable-instrumentor.jar to the AS bin folder
Thirdparty Change
Release Notes - JBoss AOP - Version 2.0.0.CR13
Bug
- [JBAOP-347] - ClassCastException in MarshalledValue.java
- [JBAOP-589] - Examples after-throwing and return-type are broken
- [JBAOP-597] - Util.checkIntroductions uses ContextClassLoader
Feature Request
- [JBAOP-598] - Instrumentor.convertReferences recreates Advisor
Release Notes - JBoss AOP - Version 2.0.0.CR12
Bug
- [JBAOP-592] - Error shutting down AspectManagerService in AS 5
Feature Request
- [JBAOP-553] - Provide a single jar in the release
- [JBAOP-593] - Proxy Factory should only create a proxy if per instance container has metadata bringing in more aspects than exist at class level
- [JBAOP-611] - AspectAnnotationLoader should deploy named pointcuts etc. before deploying the binding
Task
- [JBAOP-596] - Ensure all requisite client classes are included in jboss-aop-jdk50-client.jar
Thirdparty Change
- [JBAOP-588] - Upgrade to jboss-common-core 2.2.7.GA
Release Notes - JBoss AOP - Version 2.0.0.CR11
Bug
- [JBAOP-587] - Advisors for classes belonging to bootstrap classloader should be updated when removing bindings
Task
- [JBAOP-586] - Switch dependency on org.jboss:javassist to javassist:javassist
Release Notes - JBoss AOP - Version 2.0.0.CR10
Bug
- [JBAOP-433] - Caller Interceptor Chains Are Not Rebuilt
- [JBAOP-572] - Class and Container proxy caches are not classloader aware
- [JBAOP-580] - Calls to Class.getDeclaredXXX() in org.jboss.aop.pointcut.Util need to happen inside privileged blocks
- [JBAOP-581] - Fix JmxIntrospectingMixin
Feature Request
- [JBAOP-560] - When an AspectFactory returns null no interceptor should be added to the chain
Task
- [JBAOP-575] - Optimize addition of AspectBindings to improve AS start time
Release Notes - JBoss AOP - Version 2.0.0.CR9
Bug
- [JBAOP-256] - java.lang.RuntimeException: defrost(): org.jboss.jms.client.delegate.ClientBrowserDelegate$... was pruned
- [JBAOP-537] - JoinPointInfo synchronization is not working on wrappers
- [JBAOP-545] - Instrumented methods contained in the super class may be ignored
- [JBAOP-550] - Generated JoinPoint class cache ignores class loader
- [JBAOP-554] - Duplicated InterceptorFactories
- [JBAOP-562] - Cached GeneratedClassInfo objects are being gc'ed
- [JBAOP-565] - SuperClassesFirstWeavingStrategy instruments classes already loaded
Feature Request
- [JBAOP-521] - maven-jbossaop-plugin documentation
- [JBAOP-540] - Modify DuplicateTestCase to extend AOPTestWithSetup
- [JBAOP-551] - Create a Schema for jboss-aop.xml files
- [JBAOP-561] - Remove reference to AOP IDE from reference docs
- [JBAOP-568] - Avoid extra info from being kept in the generated jp cache
- [JBAOP-570] - Ignore the ClassLoader on the JoinPointGenerator.generatedJoinPointClassCache
Task
Release Notes - JBoss AOP - Version 2.0.0.CR8
Bug
- [JBAOP-492] - Duplicate _getAdvisor
- [JBAOP-495] - run-precompiled refers wrong jar
- [JBAOP-496] - run-precompiled.bat never runs the class
- [JBAOP-499] - Deadlock on multi-threaded dynamic AOP scenarios
- [JBAOP-517] - Enable Advisor.methodInterceptors field
- [JBAOP-528] - Fix bug when double-weaving existing javaassist proxies
- [JBAOP-534] - JBoss AOP ignore classes packaged in org.jboss.aop, it should be org.jboss.aop.
- [JBAOP-536] - Generated invokeNext method should be synchronized
Feature Request
- [JBAOP-516] - Support exclude=* in order to just include some package in current project
- [JBAOP-520] - maven-jbossaop-plugin to run java with aop options
- [JBAOP-526] - Use MetaData.isMetaDataPresent() instead of MetaData.isAnnotationPresent()
- [JBAOP-529] - Document maven plugin and add pom.xml for most of the examples in the dist
- [JBAOP-532] - Increase performance of annotation parsing by making checking of RuntimeInvisible annotations optional
- [JBAOP-541] - Use simple synchronization rather than rw locks when initialising lazy collections
- [JBAOP-543] - Replace exception when undeploying non-existant domain with a log warning
Task
- [JBAOP-530] - Missing classes in AOP-client JAR
Thirdparty Change
Release Notes - JBoss AOP - Version 2.0.0.CR7
Feature Request
- [JBAOP-524] - Annotation processing is slow
- [JBAOP-525] - Should be possible to serialize a ContainerProxyCacheKey containing (unserializable) MetaData
Release Notes - JBoss AOP - Version 2.0.0.CR6
Bug
- [JBAOP-523] - NPE trying to read annotations when shutting down server
Release Notes - JBoss AOP - Version 2.0.0.CR5
Feature Request
- [JBAOP-522] - Pass in full VFSDeploymentUnit from AspectDeployer to DomainInitialiser
Release Notes - JBoss AOP - Version 2.0.0.CR4
Bug
- [JBAOP-453] - maven-jbossaop-plugin requires artifact maven-jbossaop-plugin on compile classpath
- [JBAOP-514] - AbstractAspectManager.destroy() should be calling undeployXml() instead of deployXml()
- [JBAOP-518] - Post condition of InstanceAdvisorDelegate.initializeAspects is not aspect != null
- [JBAOP-519] - Duplicate methods in ContainerProxyFactory
Feature Request
- [JBAOP-467] - Serialize container proxies out of vm
- [JBAOP-513] - Delete the unused GeneratedAdvisedInterface
Task
Release Notes - JBoss AOP - Version 2.0.0.CR3
Bug
- [JBAOP-200] - Make sure the batch and sh files work
- [JBAOP-497] - ClassNotFoundException on JBoss 5
- [JBAOP-505] - Parameter Matching Backtrack can break indexes
- [JBAOP-507] - Launcher classloader is not accepted as a valid classloader in jboss embedded
Release Notes - JBoss AOP - Version 2.0.0.CR2
Bug
- [JBAOP-380] - JBoss AOP sets info field to null before rebuilding a chain
- [JBAOP-480] - NPE in concurrent join point generation
- [JBAOP-493] - Instrumentor.isBaseClass does not examine the whole hierarchy
- [JBAOP-494] - Generated adviceString should take into account Aspect/Interceptor scope
Release Notes - JBoss AOP - Version 2.0.0.CR1
Bug
- [JBAOP-305] - annotations not found for non-generic implementations of generic interface methods
- [JBAOP-434] - StackOverflow error on ScopedJbossClassPool.getCached
- [JBAOP-483] - Class(Proxy)Container does not populate the metadata
- [JBAOP-484] - GeneratedAdvisor advised class with a super class that is a ContainerProxy gives CCE in JoinpointGenerator
- [JBAOP-489] - Undeploy does not work if path has space characters
Feature Request
- [JBAOP-366] - Ability to attach a .aop deployment to a particular scoped classloader
- [JBAOP-482] - AOP gives non-descriptive exception when annotation creation of an expression fails
- [JBAOP-488] - Improve AOPContainerProxy.toString()
- [JBAOP-490] - Advisor.resolveAnnotation() and hasAnnotation() should check the MetaData in all cases
Task
- [JBAOP-107] - The different types of classloader integration for AOP belong in the related release not jboss-head
- [JBAOP-485] - Override Instrumentor.isBaseClass() in GeneratedAdvisorInstrumentor
- [JBAOP-486] - Get rid of SuperClassesWeavingStrategy$CtClassTransformationInfo
Release Notes - JBoss AOP - Version 2.0.0.beta2
Bug
- [JBAOP-415] - Advice Matching algorithm is ignoring generics
- [JBAOP-464] - Call.getClassName() and Call.getMethodName() must not be called after Call is edited
- [JBAOP-471] - Method enforceArgsConsistency() not found on field interception with @Arg-annotated param
- [JBAOP-472] - Wrappers lack the generic type information
Feature Request
- [JBAOP-265] - Aspectize Java array
- [JBAOP-469] - Make sure @Aspect works in older versions of AS
Task
- [JBAOP-409] - Make a version of ScopedJbossClassPool that works with AS 5
Release Notes - JBoss AOP - Version 2.0.0.beta1
Bug
- [JBAOP-450] - AOP/MC Proxies do not include original Annotation and Signature attributes
Feature Request
Task
- [JBAOP-226] - Memory leaks (advanced)
- [JBAOP-376] - Optimize AOP (SuperTask)
- [JBAOP-382] - Remove Complex Advice Signatures from Classic Mode
Release Notes - JBoss AOP - Version 2.0.0.alpha5
Bug
- [JBAOP-379] - Arguments array shouldn't be null when the joinpoint arguments list is empty
- [JBAOP-391] - Default instrumentation mode unexpected
- [JBAOP-398] - No such field: jboss
- [JBAOP-406] - Proxy Class is being transformed during AspectAnnotationLoader Execution
- [JBAOP-407] - Target is not available on Constructor Caller Interception (genadvisor mode)
- [JBAOP-408] - Advices with @Target should always be called
- [JBAOP-414] - Example implements is broken
Feature Request
Task
- [JBAOP-44] - document new ARGS features
- [JBAOP-310] - JBoss Retro packaging
- [JBAOP-313] - Better error messages in AspectXmlLoader
- [JBAOP-367] - Add JBoss EULA to aop 2.0 distribution
- [JBAOP-372] - AOP support for lifecycle callbacks
- [JBAOP-373] - Extract interfaces to be used for JoinPointInfo when used with Before/After/Throwing
- [JBAOP-384] - Add around xml tag
- [JBAOP-385] - Uniformize Advice Exception Treatment
- [JBAOP-394] - Replace EDU.oswego classes with their java.util.concurrent counterparts
- [JBAOP-397] - Make AOP independent of A/S version and split out aspect library as a separate A/S artifact
- [JBAOP-399] - Revisit the examples text
- [JBAOP-400] - Remove JDK 1.4 annotation examples from reference manual
- [JBAOP-412] - Upgrade common-core to 2.2.0.GA
Release Notes - JBoss AOP - Version 2.0.0.alpha4
Bug
- [JBAOP-368] - TransformerCommon.toClass calls need to use the aspect ProtectionDomain
- [JBAOP-369] - AOPC should use -Djava.io.tmpdir instead of the default /tmp
- [JBAOP-374] - AspectDefinition is keeping a reference to advisors after undeployment
Feature Request
- [JBAOP-37] - Before, After, After Throwing support
Task
- [JBAOP-314] - Modify JoinPointInfo hierarchy so that we can call resolveAnnotation/resolveClassAnnotation on the underlying advisor
Release Notes - JBoss AOP - Version 2.0.0.alpha3
Bug
- [JBAOP-254] - IOException: Access is denied on creating temp.files
- [JBAOP-315] - set() and get() pointcuts do not work on fields with no other pointcuts with generated advisors
- [JBAOP-316] - For method execution annotations should only exist for the wrapper method, not in the copied original
- [JBAOP-329] - Parameter annotations do not get copied across
- [JBAOP-330] - Infinite loop in ScopedJBossClassPool/ClassPool if a class cannot be found in the discovered pool
- [JBAOP-331] - Ignore expressions for a (scoped) domain should be gotten from the main AspectManager
- [JBAOP-332] - Surpress transformation errors is ignored
- [JBAOP-336] - NPE using caller pointcuts with per instance interceptors from a constructor
- [JBAOP-342] - JavassistMethodHashing.getMethodMap() for an interface does not pick up methods from super interface
- [JBAOP-346] - FieldAccess for inherited field in subclass does not get replaced if intermediate superclasses has no advised fields
- [JBAOP-349] - $implements/$implementing do not work with classes in the default package
- [JBAOP-353] - NPE on _getInstanceAdvisor (inside constructor joinpoints)
- [JBAOP-354] - PerVMAdvice depends on optimized classes
- [JBAOP-357] - ClassNotFoundExceptions when running with JRockit
- [JBAOP-360] - DeadLock when multiple threads are loading aspects
- [JBAOP-362] - JBoss AOP does not bind interceptors to introduced interfaces consistently
- [JBAOP-365] - Compile-time woven class advisor initialization fails if mixins config is available at runtime
Feature Request
- [JBAOP-276] - Construct to only match classes within a package
- [JBAOP-338] - Expose getInstance on InstanceAdvisor
- [JBAOP-340] - Enable chain overriding for container proxies
- [JBAOP-361] - AOPContainerProxy fails on final methods
Task
- [JBAOP-195] - Error running ArgsTestCase in Eclipse
- [JBAOP-317] - Verify mixin creator methods signature
- [JBAOP-343] - Upgrade javassist to 3.4.0.GA
- [JBAOP-344] - Add JBoss EULA to aop 2.0
Release Notes - JBoss AOP - Version 2.0.0.alpha2
Bug
- [JBAOP-284] - Error accessing overridden fields
- [JBAOP-298] - Construction does not work when we have inheritance and generated advisors
- [JBAOP-300] - SecurityActions$PrincipalInfoAction missing from client jar
- [JBAOP-301] - FieldAccess for inherited fields does not get replaced
- [JBAOP-303] - Per instance aspects for construction joinpoints
- [JBAOP-306] - NullpointerException in AOP/MC proxies if ctor calls a method
- [JBAOP-307] - Instantiating a proxy for a class that has no default constructors throws NPE
- [JBAOP-308] - Default values for mc annotations not picked up when running in jboss
Task
- [JBAOP-87] - Add @Depends to annotations that define dependencies
- [JBAOP-91] - Annotation interoperability
- [JBAOP-109] - AOP/MC integration tests
- [JBAOP-291] - Make AOP DTD available online
- [JBAOP-292] - Create AspectDeployer tying in with JBoss Microcontainer for AS 5
- [JBAOP-293] - Get scoped AOP working with AspectAnnotationLoader
- [JBAOP-294] - Use a JDK 5 codebase and use JBoss Retro for 1.4 compatibility
- [JBAOP-299] - Investigate failures using JRockit
- [JBAOP-304] - Add the AOP/MC integration to jboss 5 so that @JMX can be used
Release Notes - JBoss AOP - Version 2.0.0.alpha1
Bug
- [JBAOP-95] - Missing priviledged actions for isolating caller from permission checks
- [JBAOP-137] - _instanceAdvisor incorrectly added to base class
- [JBAOP-152] - ClassMetaData should obey same inheritance rules as methods
- [JBAOP-154] - Should be able to have different advices for inherited method
- [JBAOP-155] - class metadata should be overridable for inherited methods
- [JBAOP-179] - GenerateInstrumentedClassLoader should pass class bytes in to ASpectManager.translate()
- [JBAOP-248] - ClassAdvisor.attachClass() does not populate annotation overrides
- [JBAOP-264] - underscore prefix on member variables will throw an ArrayIndexOutOfBoundsException
Feature Request
- [JBAOP-185] - Exception pointcut
- [JBAOP-260] - Make it possible to (un)deploy one aspect at a time using AspectAnnotationLoader
- [JBAOP-270] - Add invokeTarget() method to Invocation
Task
- [JBAOP-81] - InstanceAdvisor needs all the features of the ClassAdvisor
- [JBAOP-86] - AOP implementation of the ClassAdapter plugins
- [JBAOP-90] - Validate that JBossAOP works in restricted environments
- [JBAOP-196] - System properties to configure how joinpoint classes are generated
- [JBAOP-204] - Make sure superclasses get instrumented first with loadtime weaving
- [JBAOP-211] - MetaData Repository access from Invocation
- [JBAOP-213] - ConcurrentModificationException when running with microcontainer
- [JBAOP-257] - Test extender test in a scoped environment
- [JBAOP-258] - Make AspectManager.instrumentor a managed attribute
- [JBAOP-269] - Contention point in MethodMetaData
- [JBAOP-272] - Get rid of JoinPointInfo.factories/factoryChain and use interceptors/interceptorChain
- [JBAOP-273] - Create jvm attribute for aopc
- [JBAOP-277] - Move AnnotationCreator into MC
- [JBAOP-282] - Update aspects dist target to use the zip created by the aop dist build
- [JBAOP-285] - overridden method super calls do not get intercepted with generated advisors
- [JBAOP-286] - Weaken dependencies on unreleased MC 2.0
- [JBAOP-289] - Move AOP out of head and into its own svn repository