Releases: raphw/byte-buddy
Releases · raphw/byte-buddy
Byte Buddy 0.5.2
- Fixed a bug where interface generation would result in a
NullPointerException. - Added additional
ElementMatchers that allow to identify class loaders.
Byte Buddy 0.5.1
- Added the
andThenmethod to theSuperMethodCallinstrumentation in order to allow for a more convenient constructor interception where a hard-coded super method call is required by the Java verifier.
Byte Buddy 0.5
- Added the
DeclaringTypeResolveras a component in the default chain which selects the most specific method out of two. This is mainly meant to avoid the accidental matching of the methods that are declared by theObjecttype. - Added
TypeInitializers in order to allowInstrumentations to define type initializer blocks. - Replaced the
MethodMatcherAPI with theElementMatcherAPI which allows for a more sophisticated matching DSL. - Added a
ClassLoadingStrategyfor Android in its own module. - Introduced an
AgentBuilderAPI and implementation.
Byte Buddy 0.4.1
- Refactored the implementation of the
VoidAwareAssignerwhich would otherwise cause unexpected behavior in its
default state. - Added a missing boxing instruction to the
InvocationHandlerAdapter.
Byte Buddy 0.4
- Extended
Instrumentation.Contextto support field accessors. - Added the
TypePoolabstraction and added a default implementation. - Refactored annotations to have an intermediate form as
AnnotationDescriptionwhich does not need to represent loaded values. - Refactored several built-in
Instrumentation, among others, all implementations now supportTypeDescriptionin addition to loadedClassas their arguments - Added several annotations that apply to the
MethodDelegation.
Byte Buddy 0.3.1
- Added support for optionally specifying a
ProtectionDomainfor the built-inClassLoadingStrategyimplementations. - Fixed a bug in the resolution of resources of the
ByteArrayClassLoaderand its child-first implementation.
Byte Buddy 0.3
- Added basic support for Java 7 types
MethodHandleandMethodTypewhich are available from Java 7 for injection. - Added support for type redefinition and type rebasing.
- Added support for accessing a JVM's HotSwap features and a Java agent.
- Added latent a child-first
ClassLoadingStrategyand manifest versions of theWRAPPERandCHILD_FIRSTdefault class loading strategies.
Byte Buddy 0.2.1
- Added proper support for defining class initializers. Added support for field caching from method instrumentations, mainly for allowing the reuse of
Methodinstances for the@Originannotation and theInvocationHandlerAdapter.
Byte Buddy 0.2
Added several bug fixes for existing features. Beyond that the following features were added or changed:
- Changed the semantics of the
@SuperCallto be only bindable, if a super method can be invoked. Before, an exception was thrown if only a non-existent or abstract super method was found. - Added features for the interaction with Java 8 default methods. Refactored method lookup to extract invokable default methods.
- Refactored the invocation of super methods to be created by an
Instrumentation.Target. For a future release, this hopefully allows for class redefinitions using today's API for creating subclasses. - Upgraded to ASM 5.0.3.
Byte Buddy 0.1
- First general release.