Releases: raphw/byte-buddy
Releases · raphw/byte-buddy
Byte Buddy 0.6.2
- Added additional class validation such that it becomes impossible to define members on classes that do not fit the class's structure, i.e. default methods on Java interfaces in version seven.
- Added a default
Assigner
singleton.
Byte Buddy 0.6.1
- Added
AnnotationDescription.Builder
to allow easy definition of annotation values without loading any values. - Added possibility to define enumerations at runtime.
- Added possibility to dynamically read enumerations for the
MethodCall
andInvokeDynamic
implementations. - Further API clean-up.
Byte Buddy 0.6
- Renamed the
Instrumentation
interface toImplementation
to avoid naming conflicts with Java types. - Renamed the
Field
annotation toFieldProxy
to avoid naming conflicts with Java types. - Refactored package structure to make the implementation more readable.
- Added possibility to define annotation default values.
- Avoid creation of an auxiliary placeholder type for method rebasements if it is not required.
- Avoid rebasing of methods if they are not instrumented.
- Reimplemented
TypeWriter
,MethodRegistry
and other supporting infrastructure to make the code simpler. - Refactored testing that is related to the previous infrastructure.
Byte Buddy 0.5.6
- Added possibility to write parameter meta information to created classes if it is fully available for a method.
Byte Buddy 0.5.5
- Retrofitted method parameters to be represented by
ParameterDescription
s and added possibility to extract names and modifiers for these parameters, either by using the Java 8 API (if available) or by reading this information from the underlying class file. - Fixed a
NullPointerException
being thrown due to accidental return of anull
value from a method.
Byte Buddy 0.5.4
- Fixed missing retention of method annotations of instrumented types.
- Allowed dynamic lookup of methods for the
MethodCall
instrumentation.
Byte Buddy 0.5.3
- Changed the
SuperMethodCall
instrumentation to fall back to a default method call if required as different behavior
is surprising and introduces subtle bugs in user code. - Added a
MethodCall
instrumentation that allows hard-coding a method call. - Added an
InvokeDynamic
instrumentation that allows runtime dispatching by bootstrap methods. - Fixed the default
TypePool
to retain generic signatures in order to avoid that agents delete such signatures. - Fixed a bug in all of the the default
ConstructorStrategy
that effectively prevented intercepting of constructors.
Byte Buddy 0.5.2
- Fixed a bug where interface generation would result in a
NullPointerException
. - Added additional
ElementMatcher
s that allow to identify class loaders.
Byte Buddy 0.5.1
- Added the
andThen
method to theSuperMethodCall
instrumentation 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
DeclaringTypeResolver
as 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 theObject
type. - Added
TypeInitializer
s in order to allowInstrumentation
s to define type initializer blocks. - Replaced the
MethodMatcher
API with theElementMatcher
API which allows for a more sophisticated matching DSL. - Added a
ClassLoadingStrategy
for Android in its own module. - Introduced an
AgentBuilder
API and implementation.