Releases: raphw/byte-buddy
Releases · raphw/byte-buddy
Byte Buddy 1.6.2
- Removed obsolete
toStringrepresentations. - Start using Lombok for equals/hashCode unless explicit.
- Add security manager check to Byte Buddy agent.
- Added asynchronous super type loading strategies.
- Added resubmitter.
- Added class injection strategy for Android.
- Fixed type initializer instrumentation for redefinitions.
- Added
loadedproperty for listener on agent builder.
Byte Buddy 1.6.1
- Added check to
@Pipefor method invokability. - Added unsafe
ClassInjectorand class loading strategy. - Improved reflection-based class injector on Java 9.
- Removed uneccessary class file location using modules on Java 9.
- Improved fail-safety for type variable resolution to allow processing incorrectly declared type variables.
Byte Buddy 1.6.0
- Added
InjectingClassLoaderwith class loading strategy that allows for reflection-free loading. - Added proper class loader locking to injection strategy.
- Fixed method lookup to not use declared accessors unless necessary to avoid security manager check.
- Added
@SuperMethodand@DefaultMethodannotations forMethodDelegation. - Refactored
AsmVisitorWrapperto accept a list of fields and methods that are intercepted. This allows to use the wrapper also for methods that are overridden. - Added a
MethodGraph.Compiler.ForDeclaredMethodsto avoid processing full type hierarchy if only type enhancement should be done without declaring new methods on a type. This should be used in combination withAdviceinstead ofMethodGraph.Emptyas those methods are supplied to the ASM visitor wrappers. - Refactored
MethodDelegationto precomile records for all candidates to avoid duplicate annotation processing.
Byte Buddy 1.5.13
- Updates to ASM 5.2
- Updates Android DX-maker.
- Adds API to
MultipleParentClassLoaderto use other loader than bootstrap loader as a parent which is not always legal, e.g. on Android. - Make
ClassInjectoruse official class loading lock if one is available. - Make
ClassInjectorusegetDefinedPackageinstead ofgetPackageif available. - Declare UNIX socket library as provided in Byte Buddy agent to only add the dependency on demand.
Byte Buddy 1.5.12
- Refactored rebasing of type initializers. Do no longer rebase into static method to pass validation for final static field assignment on Java 9.
- Added fallback to
sun.misc.Unsafefor class definition if reflective access to the protectedClassLoadermethods is not available which are required for the injection strategy. - Added super-type-loading
DescriptorStrategyfor agent builder. - Added assignment checks for
MethodCallfor invocation target.
Byte Buddy 1.5.11
- Resolved compound components to linerarize nested collections for vastly improved performance with large structures.
- Added
TypeCache. - Added fallback to assign
nulltoSuperCallandDefaultCallif assignment is impossible. - Deprecated
Forwardingin favor ofMethodCall. - Fixed matcher for interfaces in type builder DSL.
- Fixed resolution of field type in
MethodCall.
Byte Buddy 1.5.10
- Added possibility for readding types after a failed retransformation batch.
- Added partitioning batch allocator.
Byte Buddy 1.5.9
- Allow specifying
TargetTypeinAdvice.FieldValue. - Allow array value explosion in
MethodCall. - Extended
FieldAccessorto allow readingFieldDescriptions directly. - Fixed class name resolution in Maven and Gradle plugins.
Byte Buddy 1.5.8
- Added implementation for attachment on Linux and HotSpot using a non-JDK VM.
- Fixed argument resolution for
ByteBuddyAgent. - Fixed field resolution for
MethodCallto allow custom definition of fields. - Fixed visibility checks.
- Do not override default method for proxies for
Pipe.
Byte Buddy 1.5.7
- Fixed type discovery for custom advice annotation bindings.