Releases: raphw/byte-buddy
Releases · raphw/byte-buddy
Byte Buddy 1.4.20
- Fixed stack size adjustment for accessing double-sized primitive access array elements.
- Fixed
Adviceadjustment of local variable index for debugging information (improves Java agent compatibility). - Renamed
TypeLocatortoPoolStrategyto avoid confusion with the names. - Removed
DescriptionStrategys that rely on fallback-description as those do not properly fallback for meta data. - Added
FallbackStrategyas a replacement which allows to reattempt a transformation without using loaded type information.
Byte Buddy 1.4.19
- Added
@StubValueand@Unusedannotations toAdvicecomponent. - Added possibility to retain line number information for entry
Advice - Removed class loader dependency when querying loaded annotation values.
- Made annotation values more type-safe.
Byte Buddy 1.4.18
- Added automatic support for Java 9 class file location for boot modules.
- Improvided
FieldProxy.Binderto allow for a single accessor interface - Fixed counting problem in
Advicecomponent.
Byte Buddy 1.4.17
- Fixed annotation resolution for Java 9 to exlude the
jdk.internalnamespace by default. - Do not copy annotations for default constructor strategies but allow configuring annotation strategy.
- Added file-system class file locators for modules in Java 9.
- Added convenience methods to default location strategies.
- Exclude
sun.reflectnamespace by default fromAgentBuilderto avoid error messages. - Fixed resolution of type varibales for transformed methods and fields.
- Fixed stack-aware method visitor when encountering exchanging duplication instructions.
Byte Buddy 1.4.16
- Added
POOL_LAST_DEFERREDandPOOL_LAST_FALLBACKdescription strategy. - Fixed resolution of bridge methods for diamond inheritance.
- Refactored modifier API to only expose named modifier checks for an element that apply to it.
- Fixed resolution for type variables for transformed methods.
Byte Buddy 1.4.15
- Fixed frame generation for
voidmethods without regular return inAdvice. - Fixed
TypeValidationfor Java 8 interfaces not allowing private methods. - Simplified and documented
AccessControllerusage.
Byte Buddy 1.4.14
- Fixed bug with handling of legacy byte code instructions in
Advicecomponent. - Cleaned up and refactored usage of
AccessController. Added privileged handling toAgentBuilder. - Added proper buffering to non-buffered interaction with file streams.
- Make
ByteBuddycreation more robust by adding a default fallback for unknown VMs. - Improved support for Java 9.
Byte Buddy 1.4.13
- Lazily compute
Implementation.TargetandImplementation.Contextin case of a type inlining to provide correct feature set. Added validation if this constraint is broken. - Make
TypePoolusing an eagerTypeDescriptionmore robust towards errors.
Byte Buddy 1.4.12
- Monitor advice code for inconsistent stack heights at return statements to clean the stack during instrumentation to not trigger verifier errors if such atypical but legal code is encountered.
- Do not generate handlers for return values if an instrumented method or an advice method only throws exceptions but never returns regularly.
Byte Buddy 1.4.11
- Added tracer for the state of the operand stack for the
Advicecomponent to clear the stack upon a return. Without this, if code would return without leaving the stack empty, a verifier error would be thrown. This typically is only a problem when processing code that was produced by other code generation libraries.