Releases: raphw/byte-buddy
Releases · raphw/byte-buddy
Byte Buddy 1.0.1
- Refactored type variable bindings for generic super types: Always retain variables that are defined by methods.
- Retain type annotations that are defined on a
TargetType.
Byte Buddy 1.0.0
- Added support for type annotations.
- Refactored public API to support type annotations and parameter meta information.
- Several renamings in preparation of the version one release.
- Refactored type representation to no represent raw types as
TypeDescriptions. This allows for resolution of variables on these types as erasures rather than their unresolved form. Refactored naming of generic types to the common naming scheme with nested classes. - Replaced generalized token representation to define tokens, type tokens and signature tokens.
- General API improvements and minor bug fixes.
Byte Buddy 0.7.8
- Implemented all type lists of class file-rooted files to fallback to type erasures in case that the length of generic types and raw types does not match. This makes Byte Buddy more robust when dealing with illegally defined class files.
- Fixed rule on a default method's invokeability.
- Extended
MethodCallimplementation to include shortcuts for executingRunnableandCallableinstances. - Added
failSafematcher that returnsfalsefor types that throw exceptions during navigation.
Byte Buddy 0.7.7
- Fixed type resolution for anoymously loaded classes by the
ClassReloadingStrategy. - Added additional
InitiailizationStrategys for self-injection where the new default strategy loads types that are independent of the instrumented type before completing the instrumentation. This way, the resolution does not fail for types that are accessed via reflection before initializing the types if a constructor is rebased.
Byte Buddy 0.7.6
- Fixed resolution of
@Originfor constructors and added possibility to use theExecutabletype. - Fixed name resolution of types loaded by anonymous class loading.
- Allowed alternative lookup for redefinitions to support types loaded by anonymous class loading.
Byte Buddy 0.7.5
- Fixed generic type resolution optimization for proxies for
@Super.
Byte Buddy 0.7.4
- Added
TypePoolthat returns precomputedTypeDescriptions for given types. - Fixed agent and nexus attachment and the corresponding value access.
Byte Buddy 0.7.3
- Added visibility substitution for
@Superwhen the instrumented type is instrumented to see changed state on a redefinition. - Added patch for modifier information of inner classes on a redefinition.
- Added fallback for
Nexusinjection to attempt lookup of already loaded class if ressource cannot be located.
Byte Buddy 0.7.2
- Added
TypePoolthat falls back to class loading if a class cannot be located. - Added binary locator for agent builder that uses the above class pool and only parses the class file of the instrumented type.
- Added methods for reading inner classes of a
TypeDescription. - Fixed random naming based on random numbers to avoid signed numbers.
- Moved
NexusandInstallertypes to a package-level to avoid illegal outer and inner class references which could be resolved eagerly. - Added validation for illegal constant pool entries.
- Added a
Prematureinitialization strategy for optimistically loading auxiliary types. - Added a
ClassVisitorWrapperfor translating Java class files prior to Java 5 to use explicit class loading rather than class pool constants.
Byte Buddy 0.7.1
- Fixed injection order for types to avoid premature loading by dependant auxiliary types.
- Added additional
ClassFileLocators and refactored class file lookup to always use these locators.