Skip to content

Releases: raphw/byte-buddy

Byte Buddy 0.7

11 Nov 15:57
Compare
Choose a tag to compare
  • Refactored injection strategy to always inject and load the instrumented type first to avoid premature loading by reference from auxiliary types.
  • Refactored AgentBuilder.Default to delay auxiliary type injection until load time to avoid premature loading by reference from auxiliary types.
  • Added API to add additional code to type initializers while building a type.
  • Refactored agent Nexus to allow for multiple registrations of self initializers if multiple agents are registered via Byte Buddy.
  • Fixed resolution of interface methods that were represented in the type hierarchy multiple times.
  • Implemented custom ASM class writer to allow for frame computation via Byte Buddy's type pool when this is required by a user.
  • Fallback to no allowing for instrumenting type initializers for rebased or redefined interfaces before Java 8.

Byte Buddy 0.7-rc6

29 Oct 06:01
Compare
Choose a tag to compare
Byte Buddy 0.7-rc6 Pre-release
Pre-release
  • Refactored AgentBuilder.Default to delegate exceptions during redefinitions to listener instead of throwing them.
  • Fixed bug where instrumented type would count to auxiliary types and trigger injection strategy.
  • Fixed bug where interface types would resolve to a non-generic type signature.
  • Added strategy to use redefinition or retransformation of the Instrumentation API when building agents.
  • Added lazy facade to be used by agent builder to improve performance for name-based matchers.

Byte Buddy 0.7-rc5

15 Oct 18:05
Compare
Choose a tag to compare
Byte Buddy 0.7-rc5 Pre-release
Pre-release
  • Fixed parser to supress exceptions from generic signatures which are not supposed to be included in the class file if no array type is generic.
  • Fixed class validator which did not allow <clinit> blocks in interface types.
  • Added restriction to retransformation to not attempt a retransformation at all if no class should be retransformed.
  • Added a factory for creating an Implementation.Context that is configurable. This way, it is possible to avoid a rebase of a type initializer which is not always possible.
  • Added a possibility to specify for an AgentBuilder how it should redefine or rebase a class that is intercepted.

Byte Buddy 0.7-rc4

13 Oct 15:30
Compare
Choose a tag to compare
Byte Buddy 0.7-rc4 Pre-release
Pre-release
  • Fixed naming strategy for fields that cache values which chose duplicate names.
  • Fixed resolution of raw types within the type hierarchy which were represented as non-generic TypeDescription instances where type variables of members were not resolved.
  • Added possibility to specify hints for ClassReader and ClassWriter instances.
  • Fixed resolution for modifiers of members that are defined by Byte Buddy. Previsouly, Byte Buddy would sometimes attempt to define private syntehtic methods on generated interfaces.
  • Fixed assignability resolution for arrays.
  • Fixed class file parser which would not recognize outer classes for version 1.3 byte code.

Byte Buddy 0.7-rc3

06 Oct 07:11
Compare
Choose a tag to compare
Byte Buddy 0.7-rc3 Pre-release
Pre-release
  • Read Nexus instances of the Byte Buddy agents from the enclosing class loader rather than from the system class loader. This allows for their usage from OSGi environments and for user with other custom class loaders.
  • Changed modifiers for accessor methods and rebased methods to be public when rebasing or accessing methods of a Java 8 interface. For interfaces, all modifiers must be public, even for such synthetic members.
  • Support absolute path names for accessing class file ressources of the ByteArrayClassLoader.
  • Added random suffix to the names of rebased methods to avoid naming conflicts.

Byte Buddy 0.7-rc2

16 Sep 22:29
Compare
Choose a tag to compare
Byte Buddy 0.7-rc2 Pre-release
Pre-release
  • Refactored runtime attachment of Java agents to support Java 9 and additional legacy VM (version 8-).
  • Refactored MethodGraph to only represent virtual methods.
  • Changed notion of visibility to not longer consider the declaring type as part of the visibility.
  • Increased flexibility of defining proxy types for @Super and @Default annotations.
  • Added directional AmbigouityResolver.
  • Fixed detection of methods that can be rebased to not include methods that did not previously exist.

Byte Buddy 0.6.15

11 Aug 08:57
Compare
Choose a tag to compare
  • Added support for discovery and handling of Java 9 VMs.
  • Fixed class loading for Android 5 (Lollipop) API.

Byte Buddy 0.7-rc1

11 Aug 09:16
Compare
Choose a tag to compare
Byte Buddy 0.7-rc1 Pre-release
Pre-release
  • Added support for generic types.
  • Replaced MethodLookupEngine with MethodGraph.Compiler to provide a richer data structure.
  • Added support for bridge methods (type and visibility bridges).
  • Refactored the predefined ElementMatchers to allow for matching generic types.
  • Replaced the ModifierResolver with a more general MethodTransformer.

Byte Buddy 0.6.14

20 Jul 11:44
Compare
Choose a tag to compare
  • Fixed resolution of ignored methods. Previously, additional ignored methods were not appended but added as an additional criteria for ignoring a method.

Byte Buddy 0.6.13

17 Jul 12:37
Compare
Choose a tag to compare
  • Fixed resolution of field accessors to not attempt reading of non-static fields from static
  • Fixed renaming strategy for type redefinitions to work arround a constraint of ASM where stack map frames required to be expanded even though this was not strictly necessary.