Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package byte-buddy for openSUSE:Factory 
checked in at 2024-07-10 16:49:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/byte-buddy (Old)
 and      /work/SRC/openSUSE:Factory/.byte-buddy.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "byte-buddy"

Wed Jul 10 16:49:50 2024 rev:4 rq:1186467 version:1.14.18

Changes:
--------
--- /work/SRC/openSUSE:Factory/byte-buddy/byte-buddy.changes    2024-05-23 
15:36:07.457496780 +0200
+++ /work/SRC/openSUSE:Factory/.byte-buddy.new.2080/byte-buddy.changes  
2024-07-10 16:49:55.876534011 +0200
@@ -1,0 +2,21 @@
+Mon Jul  8 21:30:57 UTC 2024 - Anton Shvetz <shvetz.an...@gmail.com>
+
+- Update to v1.14.18
+  * Changes of v1.14.18
+    + Avoid verification error if constructor advice meats dropped
+      implicit this frame and throw exception during
+      instrumentation instead.
+    + Add support to resolve ByteBuddyAgent from non-obfuscated
+      name if obfuscation is used.
+    + Make sure CircularityLock implementations never load classes
+      during locking.
+    + Offer use of istat if stat command is not available for
+      emulated attachment.
+    + Avoid locking entire class loader when child-first class
+      loader loads shadowed class and parallel class loading is
+      supported.
+  * Changes of v1.14.17
+    + Avoid crashing of Android plugin when there are duplicate
+      files for licenses or license notices.
+
+-------------------------------------------------------------------

Old:
----
  byte-buddy-1.14.16.tar.gz

New:
----
  byte-buddy-1.14.18.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ byte-buddy.spec ++++++
--- /var/tmp/diff_new_pack.4ytUau/_old  2024-07-10 16:49:56.532558099 +0200
+++ /var/tmp/diff_new_pack.4ytUau/_new  2024-07-10 16:49:56.536558246 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           byte-buddy
-Version:        1.14.16
+Version:        1.14.18
 Release:        0
 Summary:        Runtime code generation for the Java virtual machine
 License:        Apache-2.0

++++++ byte-buddy-1.14.16.tar.gz -> byte-buddy-1.14.18.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/.github/workflows/main.yml 
new/byte-buddy-byte-buddy-1.14.18/.github/workflows/main.yml
--- old/byte-buddy-byte-buddy-1.14.16/.github/workflows/main.yml        
2024-05-22 13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/.github/workflows/main.yml        
2024-07-08 21:04:14.000000000 +0200
@@ -127,23 +127,26 @@
     runs-on: ubuntu-20.04
     if: github.event_name == 'push'
     steps:
-      - uses: 
step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # V2.7.0
+      - uses: 
step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # V2.8.1
         with:
           egress-policy: block
           disable-telemetry: true
           allowed-endpoints: >
-            github.com:443
-            raw.githubusercontent.com:443
-            artifactcache.actions.githubusercontent.com:443
-            blob.core.windows.net:443
-            repo.maven.apache.org:443
             coveralls.io:443
-            javadoc.io:443
-            docs.oracle.com:443
+            dl.google.com:443
             docs.gradle.org:443
+            docs.oracle.com:443
+            github.com:443
+            javadoc.io:443
+            jcenter.bintray.com:443
+            objects.githubusercontent.com:443
+            plugins-artifacts.gradle.org:443
             plugins.gradle.org:443
+            raw.githubusercontent.com:443
+            repo.gradle.org:443
+            repo.maven.apache.org:443
+            repository.sonatype.org:443
             services.gradle.org:443
-            downloads.gradle-dn.com:443
       - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # 
v4.1.3
       - uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # 
v3.12.0
         with:
@@ -161,7 +164,7 @@
     permissions:
       contents: write
     steps:
-      - uses: 
step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # V2.7.0
+      - uses: 
step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # V2.8.1
         with:
           egress-policy: audit # servers have changed, must be adjusted after 
next release
       - uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # 
v4.1.3
@@ -175,4 +178,4 @@
         run: |
           git config user.name "${{ github.event.head_commit.committer.name }}"
           git config user.email "${{ github.event.head_commit.committer.email 
}}"
-          ./mvnw -B -s .mvn/release.settings.xml release:prepare 
release:perform -Drepository.url=https://${{ github.actor }}:${{ 
secrets.github_token }}@github.com/${{ github.repository }}.git 
-Dcentral.username=raphw -Dcentral.password=${{ secrets.central_password }} 
-Dgpg.passphrase=${{ secrets.gpg_passphrase }} 
-Dgpg.keyname=B4AC8CDC141AF0AE468D16921DA784CCB5C46DD5 -Dgradle.key=${{ 
secrets.gradle_key }} -Dgradle.secret=${{ secrets.gradle_secret }} 
-Pchecksum-enforce
+          ./mvnw -B -s .mvn/release.settings.xml release:prepare 
release:perform -Drepository.url=https://${{ github.actor }}:${{ 
secrets.github_token }}@github.com/${{ github.repository }}.git 
-Dcentral.username=${{ secrets.central_user }} -Dcentral.password=${{ 
secrets.central_password }} -Dgpg.passphrase=${{ secrets.gpg_passphrase }} 
-Dgpg.keyname=B4AC8CDC141AF0AE468D16921DA784CCB5C46DD5 -Dgradle.key=${{ 
secrets.gradle_key }} -Dgradle.secret=${{ secrets.gradle_secret }} 
-Pchecksum-enforce
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/byte-buddy-byte-buddy-1.14.16/.mvn/checksums.sha256 
new/byte-buddy-byte-buddy-1.14.18/.mvn/checksums.sha256
--- old/byte-buddy-byte-buddy-1.14.16/.mvn/checksums.sha256     2024-05-22 
13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/.mvn/checksums.sha256     2024-07-08 
21:04:14.000000000 +0200
@@ -633,6 +633,8 @@
 net.bytebuddy:byte-buddy-agent:jar:1.14.13 
bad2d9413f72cc7106597fdbdfa875b0f88b9781451671b6f69c8b6bb81b4040
 net.bytebuddy:byte-buddy-agent:jar:1.14.14 
1f2aad82c986925790e391f5f709b276e54690c241694cf8329c18d75de0cfce
 net.bytebuddy:byte-buddy-agent:jar:1.14.15 
3ef6ec7175801361170067cc6902969f966d37c72bf9353d9cd282263b184064
+net.bytebuddy:byte-buddy-agent:jar:1.14.16 
bfe45768a5b75c076e49f036c96c10c32cb4062313189476cc26ff5f4f5a1384
+net.bytebuddy:byte-buddy-agent:jar:1.14.17 
461ec3017f1445b0af42d4e5f08eb6f5032fa4039ad737f3fcc4b2a12a38f984
 net.bytebuddy:byte-buddy-agent:jar:1.14.2 
f428c7417b4cf7031d88f1f63d876811cea3b015803017ba9e06ce2acdd5a1e7
 net.bytebuddy:byte-buddy-agent:jar:1.14.3 
3b362963597f11e28ad55bd405ddfe56dd3ae73850cdd2de70b28ef6e9520bf1
 net.bytebuddy:byte-buddy-agent:jar:1.14.4 
fbd1ab3db43c6c78b8804908cb95b656517f5c82e7fde8d255d8bdceef412d70
@@ -655,6 +657,8 @@
 net.bytebuddy:byte-buddy-android:jar:1.14.13 
8a300455c03fddc51063b6f0a008a7e2a3b403e683bb8e9e8f9d6c3a5822add6
 net.bytebuddy:byte-buddy-android:jar:1.14.14 
8d4680bf55d2d9b3bad39ebb7e176a445543f35e1b9e311d241c56bdd0c7ebc6
 net.bytebuddy:byte-buddy-android:jar:1.14.15 
5a1e273bcf36fd5d67f8a1932ec07c2f1e00ec2ebf52d40f6beed142f0b6b162
+net.bytebuddy:byte-buddy-android:jar:1.14.16 
02b567daf21a8d35651660b9480f1ba0f1a9c7d3aa9da1c6b68b45a644ffab14
+net.bytebuddy:byte-buddy-android:jar:1.14.17 
9a457e8f33ec9858e5674545f3c6569554ab1e6043875cef83945644e8cfa9fb
 net.bytebuddy:byte-buddy-android:jar:1.14.2 
96821d15b3c14adc5443a2ac95ab349d66f833c1bc23689d5a47382a50b00520
 net.bytebuddy:byte-buddy-android:jar:1.14.3 
97d9b94b433682be1309b2954819d7f4303961aba8ed6e20b088f51a769009ef
 net.bytebuddy:byte-buddy-android:jar:1.14.4 
d93dec5cd2a80ff953e4fda26308d0b99e2465262e7956dd7b3003a16a5b04a0
@@ -677,6 +681,8 @@
 net.bytebuddy:byte-buddy-dep:jar:1.14.13 
190c4526aadb0ac0d6ffffe6d2a79ce52f7c1a04dd0e33743c36f229f7472d31
 net.bytebuddy:byte-buddy-dep:jar:1.14.14 
d1baaa62405c8122edb1dac87b0a5fff174a28696086c41006be461a424b4550
 net.bytebuddy:byte-buddy-dep:jar:1.14.15 
c63138c81c7f2cb5cb05685e3aa8410670535c6cf93c2c6159ff933134b30119
+net.bytebuddy:byte-buddy-dep:jar:1.14.16 
6d5560dc661907ad580443ec2e6534e68217302ea5cfb5c0a51338dfb5d1be2a
+net.bytebuddy:byte-buddy-dep:jar:1.14.17 
6704f42bf2d8dd3b70b138ad15cf24a32e079bf5d161620f7e739440694a9e22
 net.bytebuddy:byte-buddy-dep:jar:1.14.2 
d6723d41a4be755c875c18e21554b04ac062a1460105154763800df1ae01c096
 net.bytebuddy:byte-buddy-dep:jar:1.14.3 
ac4dcc6dbee75b8c10af7ce2a9d4e050a6849fb5442dadc73d8b90c782f9cb80
 net.bytebuddy:byte-buddy-dep:jar:1.14.4 
7905516fb7c112ba424c26e84b3989ccaec71115914d6c46d09e385a4bf410e1
@@ -699,6 +705,8 @@
 net.bytebuddy:byte-buddy-maven-plugin:jar:1.14.13 
52acf5078cb1995be6bbe1b44b018b954ee5a66e97ce0220d6ec717f3b695d77
 net.bytebuddy:byte-buddy-maven-plugin:jar:1.14.14 
c9e9fd7612d44075b0b462371107b63ca381487995eeaca5140f4a264c1f8d91
 net.bytebuddy:byte-buddy-maven-plugin:jar:1.14.15 
d00fa2e048f90b7a858ba5e18d74c956706650c6a7e8784dd456196c028ee829
+net.bytebuddy:byte-buddy-maven-plugin:jar:1.14.16 
1f51eace023f6733d89d4cc8540a8fe058cd6abaf4ffeb11f0fd345d9dd5a856
+net.bytebuddy:byte-buddy-maven-plugin:jar:1.14.17 
a6c7e53017eda36736dc7d83dcfb481fb0587224b9abea940c452bdc13def287
 net.bytebuddy:byte-buddy-maven-plugin:jar:1.14.2 
f5d2be6baf531ebbde91274181504fcb92ff07d0a2c21c55dcc7ff6a87cbc790
 net.bytebuddy:byte-buddy-maven-plugin:jar:1.14.3 
3d52c7d65b9fdac180f90612c377a39fc9b81e1d48f02aced9fbdcdfeda57659
 net.bytebuddy:byte-buddy-maven-plugin:jar:1.14.4 
acdae6ef4609d3fbe7de4dfa8a5fe39a23386056ab67c16ead74e71519ddf477
@@ -718,6 +726,8 @@
 net.bytebuddy:byte-buddy-maven-plugin:pom:1.14.13 
890bf7a55eedadd224afc7af6f826329da463ac463e009f82b7f170306dc68a7
 net.bytebuddy:byte-buddy-maven-plugin:pom:1.14.14 
e0d984cb1b151694c376626054cc2c05253fef5d730263c5944378c9da2a257d
 net.bytebuddy:byte-buddy-maven-plugin:pom:1.14.15 
7cd1b22ae360c79fd4417eb93d6a8541f26ca015588403df2dc0becd6c09b353
+net.bytebuddy:byte-buddy-maven-plugin:pom:1.14.16 
bdf1d2ea5ffd620a1fa070822e4f8d5bd04ec47d97508a5f2b550b587eb1c5d8
+net.bytebuddy:byte-buddy-maven-plugin:pom:1.14.17 
534cc0b4ae12a3dfc91bfec4f7d5765875433ced287582b755af2a268d64e04b
 net.bytebuddy:byte-buddy-maven-plugin:pom:1.14.2 
d8b553fee46eba6a96de2d9b4bea1efc23fa13e33c9e935b0db492935e447f4c
 net.bytebuddy:byte-buddy-maven-plugin:pom:1.14.3 
8ddbd06f4a027c86e16d3d5e9e685d5980be893c5f3991ebbda600c6e260fa1e
 net.bytebuddy:byte-buddy-maven-plugin:pom:1.14.4 
e02f1c97f27accbd3ee14ebe7559a448e75fd42e311eacde8a2f0bbf14cc41ac
@@ -737,6 +747,8 @@
 net.bytebuddy:byte-buddy-parent:pom:1.14.13 
df77856d724a0b3d97f616e4a5a8b9d3ea997545b13a42dae494ff9f0a5eb1ac
 net.bytebuddy:byte-buddy-parent:pom:1.14.14 
c722ebe40e964f2b5d59c326cf701f275b2d81bdafdc80ccf8862d5e612b2e7f
 net.bytebuddy:byte-buddy-parent:pom:1.14.15 
26eaef08651ffa58ba290092ce3281782e29c0628a1b79fa5a3784f908b418ac
+net.bytebuddy:byte-buddy-parent:pom:1.14.16 
c1da5e400c7465c8823fbe6cc2dd4d518f51191c6630637e439f463ba699530c
+net.bytebuddy:byte-buddy-parent:pom:1.14.17 
06e57b5e99fdf4ef368affd23661790b23bf32d2d013bbc08d68d4345006f582
 net.bytebuddy:byte-buddy-parent:pom:1.14.2 
6db003ef2b312e8c30e67cf5a7f39d8be1eaa3bac99e79d715c03d02c520f587
 net.bytebuddy:byte-buddy-parent:pom:1.14.3 
18d87a7371f2d5d7bf9473124e51ed8a9ae1ad86ed1085cc151c8266deb519d2
 net.bytebuddy:byte-buddy-parent:pom:1.14.4 
ac4f0167ff070f263acad009f8a289dc92e34ff1090e90e5bd8a2046cf5bc38c
@@ -756,6 +768,8 @@
 net.bytebuddy:byte-buddy:jar:1.14.13 
ba8254ff6d612af49acee4cac1108453ce3a417efa548b24f2f4f268cd2b441a
 net.bytebuddy:byte-buddy:jar:1.14.14 
e28fbba2a91ed5ad0a19aa196ae906344842d31ce662741c8a11c55ba97f2a26
 net.bytebuddy:byte-buddy:jar:1.14.15 
7472e3961992c12a9fd4f6d67c21de4280abe18f292704dd49d7338289f8acf5
+net.bytebuddy:byte-buddy:jar:1.14.16 
5add6c7b294b2b2ac60c9a4b54f924cd65e4f10ccfed75d2a99d621d6c5f0a8d
+net.bytebuddy:byte-buddy:jar:1.14.17 
cde8f8f8e07bff3694aace0d9944ba755665a583b05d9153d41062285e9a8a61
 net.bytebuddy:byte-buddy:jar:1.14.2 
042e6b26e1f3fdd1e6244e9dcb381065b15d230ecd93838691dcc03918c9d525
 net.bytebuddy:byte-buddy:jar:1.14.3 
1db7ee74714ed852a2bd23c33d066e8a4f6031411cbd0ce75daa58b7670894ad
 net.bytebuddy:byte-buddy:jar:1.14.4 
7ae2b39ac230be9e3e09ce020406c017ff8ceba06eaf078c62a88c218a0ff2b4
@@ -775,6 +789,8 @@
 net.bytebuddy:byte-buddy:pom:1.14.13 
95d5e57845e787a2a0739aec15cc7146fd616cab0ac824a02bee0e9e5ac67730
 net.bytebuddy:byte-buddy:pom:1.14.14 
efe26a33ce44ee27b49b76835746e2b26b5918b6cf9b490a5206ecfd278780c0
 net.bytebuddy:byte-buddy:pom:1.14.15 
d5639f8fe27cead33e6a4c789fad8e65f328f62bb79dad2bdd7ae6cc93b9454c
+net.bytebuddy:byte-buddy:pom:1.14.16 
808749924730dd83438518fa240b046d71c938cd2a0acaa7affbbd94cdfa8361
+net.bytebuddy:byte-buddy:pom:1.14.17 
edb2c2591e1805ea117d9a23615586cc6321d250e892a9d344dc09d5a22bd13e
 net.bytebuddy:byte-buddy:pom:1.14.2 
c18ad7b621b3910528c7a9038d74e7e33fe79aca88e7f2b58bb853eabb6b33ff
 net.bytebuddy:byte-buddy:pom:1.14.3 
50e1c99fcf83f3131f32aed4225ee8ff56e40496ffed4daf946b24e50873481d
 net.bytebuddy:byte-buddy:pom:1.14.4 
d79615b646178d735ae2ca1f7400fdc6138aeb2cfd5f81427c8f1035cdea4bc4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/byte-buddy-byte-buddy-1.14.16/byte-buddy/pom.xml 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy/pom.xml
--- old/byte-buddy-byte-buddy-1.14.16/byte-buddy/pom.xml        2024-05-22 
13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/byte-buddy/pom.xml        2024-07-08 
21:04:14.000000000 +0200
@@ -5,7 +5,7 @@
     <parent>
         <groupId>net.bytebuddy</groupId>
         <artifactId>byte-buddy-parent</artifactId>
-        <version>1.14.16</version>
+        <version>1.14.18</version>
     </parent>
 
     <artifactId>byte-buddy</artifactId>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/pom.xml 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/pom.xml
--- old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/pom.xml  2024-05-22 
13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/pom.xml  2024-07-08 
21:04:14.000000000 +0200
@@ -5,7 +5,7 @@
     <parent>
         <groupId>net.bytebuddy</groupId>
         <artifactId>byte-buddy-parent</artifactId>
-        <version>1.14.16</version>
+        <version>1.14.18</version>
     </parent>
 
     <artifactId>byte-buddy-agent</artifactId>
@@ -69,7 +69,7 @@
         <dependency>
             <groupId>net.bytebuddy</groupId>
             <artifactId>byte-buddy</artifactId>
-            <version>1.14.15</version>
+            <version>1.14.17</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/main/java/net/bytebuddy/agent/ByteBuddyAgent.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/main/java/net/bytebuddy/agent/ByteBuddyAgent.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/main/java/net/bytebuddy/agent/ByteBuddyAgent.java
    2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/main/java/net/bytebuddy/agent/ByteBuddyAgent.java
    2024-07-08 21:04:14.000000000 +0200
@@ -91,21 +91,6 @@
     private static final String MANIFEST_VERSION_VALUE = "1.0";
 
     /**
-     * The size of the buffer for copying the agent installer file into 
another jar.
-     */
-    private static final int BUFFER_SIZE = 1024 * 8;
-
-    /**
-     * Convenience indices for reading and writing to the buffer to make the 
code more readable.
-     */
-    private static final int START_INDEX = 0, END_OF_FILE = -1;
-
-    /**
-     * The status code expected as a result of a successful attachment.
-     */
-    private static final int SUCCESSFUL_ATTACH = 0;
-
-    /**
      * Representation of the bootstrap {@link java.lang.ClassLoader}.
      */
     @AlwaysNull
@@ -153,28 +138,11 @@
     private static final String OS_NAME = "os.name";
 
     /**
-     * The name of the method for reading the installer's instrumentation.
-     */
-    private static final String INSTRUMENTATION_METHOD = "getInstrumentation";
-
-    /**
      * Represents the {@code file} URL protocol.
      */
     private static final String FILE_PROTOCOL = "file";
 
     /**
-     * An indicator variable to express that no instrumentation is available.
-     */
-    @AlwaysNull
-    private static final Instrumentation UNAVAILABLE = null;
-
-    /**
-     * Represents a failed attempt to self-resolve a jar file location.
-     */
-    @AlwaysNull
-    private static final File CANNOT_SELF_RESOLVE = null;
-
-    /**
      * The attachment type evaluator to be used for determining if an 
attachment requires an external process.
      */
     private static final AttachmentTypeEvaluator ATTACHMENT_TYPE_EVALUATOR = 
doPrivileged(AttachmentTypeEvaluator.InstallationAction.INSTANCE);
@@ -672,10 +640,10 @@
                     JarOutputStream jarOutputStream = new JarOutputStream(new 
FileOutputStream(attachmentJar));
                     try {
                         jarOutputStream.putNextEntry(new 
JarEntry(Attacher.class.getName().replace('.', '/') + CLASS_FILE_EXTENSION));
-                        byte[] buffer = new byte[BUFFER_SIZE];
+                        byte[] buffer = new byte[1024 * 8];
                         int index;
-                        while ((index = inputStream.read(buffer)) != 
END_OF_FILE) {
-                            jarOutputStream.write(buffer, START_INDEX, index);
+                        while ((index = inputStream.read(buffer)) != -1) {
+                            jarOutputStream.write(buffer, 0, index);
                         }
                         jarOutputStream.closeEntry();
                     } finally {
@@ -702,7 +670,7 @@
                     processId,
                     agent.getAbsolutePath(),
                     Boolean.toString(isNative),
-                    argument == null ? "" : (AGENT_ARGUMENT_SEPARATOR + 
argument)).start().waitFor() != SUCCESSFUL_ATTACH) {
+                    argument == null ? "" : (AGENT_ARGUMENT_SEPARATOR + 
argument)).start().waitFor() != 0) {
                 throw new IllegalStateException("Could not self-attach to 
current VM using external process - set a property "
                         + Attacher.DUMP_PROPERTY
                         + " to dump the process output to a file at the 
specified location");
@@ -726,31 +694,31 @@
     private static File trySelfResolve() {
         try {
             if (Boolean.getBoolean(LATENT_RESOLVE)) {
-                return CANNOT_SELF_RESOLVE;
+                return null;
             }
             ProtectionDomain protectionDomain = 
Attacher.class.getProtectionDomain();
             if (protectionDomain == null) {
-                return CANNOT_SELF_RESOLVE;
+                return null;
             }
             CodeSource codeSource = protectionDomain.getCodeSource();
             if (codeSource == null) {
-                return CANNOT_SELF_RESOLVE;
+                return null;
             }
             URL location = codeSource.getLocation();
             if (!location.getProtocol().equals(FILE_PROTOCOL)) {
-                return CANNOT_SELF_RESOLVE;
+                return null;
             }
             try {
                 File file = new File(location.toURI());
                 if (file.getPath().contains(AGENT_ARGUMENT_SEPARATOR)) {
-                    return CANNOT_SELF_RESOLVE;
+                    return null;
                 }
                 return file;
             } catch (URISyntaxException ignored) {
                 return new File(location.getPath());
             }
         } catch (Exception ignored) {
-            return CANNOT_SELF_RESOLVE;
+            return null;
         }
     }
 
@@ -761,10 +729,28 @@
      * @return The Byte Buddy agent's {@link 
java.lang.instrument.Instrumentation} instance.
      */
     @MaybeNull
-    @SuppressFBWarnings(value = "REC_CATCH_EXCEPTION", justification = 
"Exception should not be rethrown but trigger a fallback.")
     private static Instrumentation doGetInstrumentation() {
+        if (!Installer.NAME.equals(Installer.class.getName())) {
+            Instrumentation instrumentation = 
doGetInstrumentation(Installer.NAME);
+            if (instrumentation != null) {
+                return instrumentation;
+            }
+        }
+        return doGetInstrumentation(Installer.class.getName());
+    }
+
+    /**
+     * Performs the actual lookup of the {@link 
java.lang.instrument.Instrumentation} from an installed
+     * Byte Buddy agent and returns the instance, or returns {@code null} if 
not present.
+     *
+     * @param name The name of the {@link Installer} class which might be 
shaded.
+     * @return The Byte Buddy agent's {@link 
java.lang.instrument.Instrumentation} instance.
+     */
+    @MaybeNull
+    @SuppressFBWarnings(value = "REC_CATCH_EXCEPTION", justification = 
"Exception should not be rethrown but trigger a fallback.")
+    private static Instrumentation doGetInstrumentation(String name) {
         try {
-            Class<?> installer = Class.forName(Installer.class.getName(), 
true, ClassLoader.getSystemClassLoader());
+            Class<?> installer = Class.forName(name, true, 
ClassLoader.getSystemClassLoader());
             try {
                 Class<?> module = Class.forName("java.lang.Module");
                 Method getModule = Class.class.getMethod("getModule");
@@ -775,11 +761,11 @@
             } catch (ClassNotFoundException ignored) {
                 /* empty */
             }
-            return (Instrumentation) Class.forName(Installer.class.getName(), 
true, ClassLoader.getSystemClassLoader())
-                    .getMethod(INSTRUMENTATION_METHOD)
+            return (Instrumentation) Class.forName(name, true, 
ClassLoader.getSystemClassLoader())
+                    .getMethod("getInstrumentation")
                     .invoke(null);
         } catch (Exception ignored) {
-            return UNAVAILABLE;
+            return null;
         }
     }
 
@@ -1447,25 +1433,26 @@
              * to avoid the creation of a temporary jar file which can remain 
undeleted on Windows operating systems where the agent
              * is linked by a class loader such that {@link 
File#deleteOnExit()} does not have an effect.
              *
+             * @param installer The installer class to attempt to resolve 
which might be a shaded version of the class.
              * @return This jar file's location or {@code null} if this jar 
file's location is inaccessible.
              * @throws IOException If an I/O exception occurs.
              */
             @MaybeNull
-            private static File trySelfResolve() throws IOException {
-                ProtectionDomain protectionDomain = 
Installer.class.getProtectionDomain();
+            private static File trySelfResolve(Class<?> installer) throws 
IOException {
+                ProtectionDomain protectionDomain = 
installer.getProtectionDomain();
                 if (Boolean.getBoolean(LATENT_RESOLVE)) {
-                    return CANNOT_SELF_RESOLVE;
+                    return null;
                 }
                 if (protectionDomain == null) {
-                    return CANNOT_SELF_RESOLVE;
+                    return null;
                 }
                 CodeSource codeSource = protectionDomain.getCodeSource();
                 if (codeSource == null) {
-                    return CANNOT_SELF_RESOLVE;
+                    return null;
                 }
                 URL location = codeSource.getLocation();
                 if (!location.getProtocol().equals(FILE_PROTOCOL)) {
-                    return CANNOT_SELF_RESOLVE;
+                    return null;
                 }
                 File agentJar;
                 try {
@@ -1474,26 +1461,26 @@
                     agentJar = new File(location.getPath());
                 }
                 if (!agentJar.isFile() || !agentJar.canRead()) {
-                    return CANNOT_SELF_RESOLVE;
+                    return null;
                 }
                 // It is necessary to check the manifest of the containing 
file as this code can be shaded into another artifact.
                 JarInputStream jarInputStream = new JarInputStream(new 
FileInputStream(agentJar));
                 try {
                     Manifest manifest = jarInputStream.getManifest();
                     if (manifest == null) {
-                        return CANNOT_SELF_RESOLVE;
+                        return null;
                     }
                     Attributes attributes = manifest.getMainAttributes();
                     if (attributes == null) {
-                        return CANNOT_SELF_RESOLVE;
+                        return null;
                     }
-                    if 
(Installer.class.getName().equals(attributes.getValue(AGENT_CLASS_PROPERTY))
+                    if 
(installer.getName().equals(attributes.getValue(AGENT_CLASS_PROPERTY))
                             && 
Boolean.parseBoolean(attributes.getValue(CAN_REDEFINE_CLASSES_PROPERTY))
                             && 
Boolean.parseBoolean(attributes.getValue(CAN_RETRANSFORM_CLASSES_PROPERTY))
                             && 
Boolean.parseBoolean(attributes.getValue(CAN_SET_NATIVE_METHOD_PREFIX))) {
                         return agentJar;
                     } else {
-                        return CANNOT_SELF_RESOLVE;
+                        return null;
                     }
                 } finally {
                     jarInputStream.close();
@@ -1523,10 +1510,10 @@
                     JarOutputStream jarOutputStream = new JarOutputStream(new 
FileOutputStream(agentJar), manifest);
                     try {
                         jarOutputStream.putNextEntry(new 
JarEntry(Installer.class.getName().replace('.', '/') + CLASS_FILE_EXTENSION));
-                        byte[] buffer = new byte[BUFFER_SIZE];
+                        byte[] buffer = new byte[1024 * 8];
                         int index;
-                        while ((index = inputStream.read(buffer)) != 
END_OF_FILE) {
-                            jarOutputStream.write(buffer, START_INDEX, index);
+                        while ((index = inputStream.read(buffer)) != -1) {
+                            jarOutputStream.write(buffer, 0, index);
                         }
                         jarOutputStream.closeEntry();
                     } finally {
@@ -1541,13 +1528,27 @@
             /**
              * {@inheritDoc}
              */
+            @SuppressFBWarnings(value = "REC_CATCH_EXCEPTION", justification = 
"Exception should not be rethrown but trigger a fallback.")
             public File resolve() throws IOException {
                 try {
-                    File resolved = trySelfResolve();
+                    if (!Installer.class.getName().equals(Installer.NAME)) {
+                        try {
+                            File resolved = 
trySelfResolve(Class.forName(Installer.NAME,
+                                    false,
+                                    ClassLoader.getSystemClassLoader()));
+                            if (resolved != null) {
+                                return resolved;
+                            }
+                        } catch (ClassNotFoundException ignored) {
+                            /* do nothing */
+                        }
+                    }
+                    File resolved = trySelfResolve(Installer.class);
                     if (resolved != null) {
                         return resolved;
                     }
                 } catch (Exception ignored) {
+                    /* do nothing */
                 }
                 return createJarFile();
             }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/main/java/net/bytebuddy/agent/Installer.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/main/java/net/bytebuddy/agent/Installer.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/main/java/net/bytebuddy/agent/Installer.java
 2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/main/java/net/bytebuddy/agent/Installer.java
 2024-07-08 21:04:14.000000000 +0200
@@ -15,6 +15,7 @@
  */
 package net.bytebuddy.agent;
 
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import net.bytebuddy.agent.utility.nullability.MaybeNull;
 
 import java.lang.instrument.Instrumentation;
@@ -27,6 +28,11 @@
 public class Installer {
 
     /**
+     * The name of the {@link Installer} class that is stored in an obfuscated 
format which will not be relocated.
+     */
+    protected static final String NAME = new 
StringBuilder("rellatsnI.tnega.yddubetyb.ten").reverse().toString();
+
+    /**
      * A field for carrying the {@link java.lang.instrument.Instrumentation} 
that was loaded by the Byte Buddy
      * agent. Note that this field must never be accessed directly as the 
agent is injected into the VM's
      * system class loader. This way, the field of this class might be {@code 
null} even after the installation
@@ -91,7 +97,7 @@
      * @param instrumentation The instrumentation instance.
      */
     public static void premain(String arguments, Instrumentation 
instrumentation) {
-        Installer.instrumentation = instrumentation;
+        doMain(instrumentation);
     }
 
     /**
@@ -101,6 +107,28 @@
      * @param instrumentation The instrumentation instance.
      */
     public static void agentmain(String arguments, Instrumentation 
instrumentation) {
+        doMain(instrumentation);
+    }
+
+    /**
+     * Installs the {@link Instrumentation} in the current class and possibly 
obfuscated class.
+     *
+     * @param instrumentation The instrumentation instance.
+     */
+    @SuppressFBWarnings(value = "REC_CATCH_EXCEPTION", justification = 
"Exception should not interrupt agent attachment.")
+    private static synchronized void doMain(Instrumentation instrumentation) {
+        if (Installer.instrumentation != null) {
+            return;
+        }
         Installer.instrumentation = instrumentation;
+        try {
+            if (!Installer.class.getName().equals(NAME)) {
+                Class.forName(NAME, false, ClassLoader.getSystemClassLoader())
+                        .getField("instrumentation")
+                        .set(null, instrumentation);
+            }
+        } catch (Throwable ignored) {
+            /* do nothing */
+        }
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/main/java/net/bytebuddy/agent/VirtualMachine.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/main/java/net/bytebuddy/agent/VirtualMachine.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/main/java/net/bytebuddy/agent/VirtualMachine.java
    2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/main/java/net/bytebuddy/agent/VirtualMachine.java
    2024-07-08 21:04:14.000000000 +0200
@@ -33,6 +33,8 @@
 import java.security.SecureRandom;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * <p>
@@ -683,7 +685,7 @@
             }
 
             /**
-             * Implements a connection for a Posix socket in JNA.
+             * Implements a connection for a POSIX socket in JNA.
              */
             class ForJnaPosixSocket extends OnPersistentByteChannel<Integer> {
 
@@ -698,7 +700,7 @@
                 private final File socket;
 
                 /**
-                 * Creates a connection for a virtual posix socket implemented 
in JNA.
+                 * Creates a connection for a virtual POSIX socket implemented 
in JNA.
                  *
                  * @param library The JNA library to use.
                  * @param socket  The POSIX socket.
@@ -750,7 +752,7 @@
                 }
 
                 /**
-                 * A JNA library binding for Posix sockets.
+                 * A JNA library binding for POSIX sockets.
                  */
                 protected interface PosixLibrary extends Library {
 
@@ -1079,6 +1081,7 @@
                  * Custom {@link WinBase.SECURITY_ATTRIBUTES} is required here 
to "get" Medium Integrity Level.
                  * In order to allow Medium Integrity Level clients to open
                  * and use a NamedPipe created by an High Integrity Level 
process.
+                 *
                  * @return A security attributes object that gives everyone 
read and write access.
                  */
                 private WinBase.SECURITY_ATTRIBUTES 
createSecurityAttributesToAllowMediumIntegrity() {
@@ -2062,7 +2065,7 @@
             /**
              * Changes the ownership of a file. Can be called only if this 
process is owned by root.
              *
-             * @param file The path of the file to change ownership of.
+             * @param file   The path of the file to change ownership of.
              * @param userId The user that should own the file.
              */
             void chownFileToUser(File file, long userId);
@@ -2078,22 +2081,12 @@
                 private final PosixLibrary library;
 
                 /**
-                 * The maximum amount of attempts for checking the result of a 
foreign process.
-                 */
-                private final int attempts;
-
-                /**
-                 * The pause between two checks for another process to return.
-                 */
-                private final long pause;
-
-                /**
-                 * The time unit of the pause time.
+                 * The POSIX owner provider to use.
                  */
-                private final TimeUnit timeUnit;
+                private final PosixOwnerProvider provider;
 
                 /**
-                 * Creates a new connector for a POSIX enviornment using JNA.
+                 * Creates a new connector for a POSIX environment using JNA.
                  *
                  * @param attempts The maximum amount of attempts for checking 
the result of a foreign process.
                  * @param pause    The pause between two checks for another 
process to return.
@@ -2101,9 +2094,9 @@
                  */
                 @SuppressWarnings("deprecation")
                 public ForJnaPosixEnvironment(int attempts, long pause, 
TimeUnit timeUnit) {
-                    this.attempts = attempts;
-                    this.pause = pause;
-                    this.timeUnit = timeUnit;
+                    provider = Platform.isAIX()
+                            ? new PosixOwnerProvider.UsingIStat(attempts, 
pause, timeUnit)
+                            : new PosixOwnerProvider.UsingStat(attempts, 
pause, timeUnit);
                     library = Native.loadLibrary("c", PosixLibrary.class);
                 }
 
@@ -2147,40 +2140,7 @@
                  */
                 @SuppressFBWarnings(value = "OS_OPEN_STREAM", justification = 
"The stream life-cycle is bound to its process.")
                 public int getOwnerIdOf(File file) {
-                    try {
-                        // The binding for 'stat' is very platform dependant. 
To avoid the complexity of binding the correct method,
-                        // stat is called as a separate command. This is less 
efficient but more portable.
-                        Process process = Runtime.getRuntime().exec(new 
String[]{"stat",
-                                Platform.isMac() ? "-f" : "-c",
-                                "%u",
-                                file.getAbsolutePath()});
-                        int attempts = this.attempts;
-                        boolean exited = false;
-                        String line = new BufferedReader(new 
InputStreamReader(process.getInputStream(), "UTF-8")).readLine();
-                        do {
-                            try {
-                                if (process.exitValue() != 0) {
-                                    throw new IllegalStateException("Error 
while executing stat");
-                                }
-                                exited = true;
-                                break;
-                            } catch (IllegalThreadStateException ignored) {
-                                try {
-                                    Thread.sleep(timeUnit.toMillis(pause));
-                                } catch (InterruptedException exception) {
-                                    Thread.currentThread().interrupt();
-                                    throw new IllegalStateException(exception);
-                                }
-                            }
-                        } while (--attempts > 0);
-                        if (!exited) {
-                            process.destroy();
-                            throw new IllegalStateException("Command for stat 
did not exit in time");
-                        }
-                        return Integer.parseInt(line);
-                    } catch (IOException exception) {
-                        throw new IllegalStateException("Unable to execute 
stat command", exception);
-                    }
+                    return provider.getOwnerIdOf(file);
                 }
 
                 /**
@@ -2227,21 +2187,17 @@
                     PosixLibrary.SemaphoreOperation target = new 
PosixLibrary.SemaphoreOperation();
                     target.operation = operation;
                     target.flags = flags;
-                    try {
-                        while (count-- > 0) {
-                            try {
-                                library.semop(semaphore, target, 1);
-                            } catch (LastErrorException exception) {
-                                if (acceptUnavailable && 
(Native.getLastError() == PosixLibrary.EAGAIN
-                                        || Native.getLastError() == 
PosixLibrary.EDEADLK)) {
-                                    break;
-                                } else {
-                                    throw exception;
-                                }
+                    while (count-- > 0) {
+                        try {
+                            library.semop(semaphore, target, 1);
+                        } catch (LastErrorException exception) {
+                            if (acceptUnavailable && (Native.getLastError() == 
PosixLibrary.EAGAIN
+                                    || Native.getLastError() == 
PosixLibrary.EDEADLK)) {
+                                break;
+                            } else {
+                                throw exception;
                             }
                         }
-                    } finally {
-                        target = null;
                     }
                 }
 
@@ -2385,6 +2341,186 @@
                         }
                     }
                 }
+
+                /**
+                 * Represents a system that supports POSIX ownership.
+                 */
+                protected interface PosixOwnerProvider {
+
+                    /**
+                     * Returns the user id of the owner of the supplied file.
+                     *
+                     * @param file The file for which to locate the owner.
+                     * @return The owner id of the supplied file.
+                     */
+                    int getOwnerIdOf(File file);
+
+                    /**
+                     * An implementation of reading POSIX ownership using 
{@code stat}.
+                     */
+                    class UsingStat implements PosixOwnerProvider {
+
+                        /**
+                         * The maximum amount of attempts for checking the 
result of a foreign process.
+                         */
+                        private final int attempts;
+
+                        /**
+                         * The pause between two checks for another process to 
return.
+                         */
+                        private final long pause;
+
+                        /**
+                         * The time unit of the pause time.
+                         */
+                        private final TimeUnit timeUnit;
+
+                        /**
+                         * Creates a new provider where an owner is derived 
using the {@code stat} command.
+                         *
+                         * @param attempts The maximum amount of attempts for 
checking the result of a foreign process.
+                         * @param pause    The pause between two checks for 
another process to return.
+                         * @param timeUnit The time unit of the pause time.
+                         */
+                        public UsingStat(int attempts, long pause, TimeUnit 
timeUnit) {
+                            this.attempts = attempts;
+                            this.pause = pause;
+                            this.timeUnit = timeUnit;
+                        }
+
+                        /**
+                         * {@inheritDoc}
+                         */
+                        public int getOwnerIdOf(File file) {
+                            try {
+                                // The binding for 'stat' is very platform 
dependant. To avoid the complexity of binding the correct method,
+                                // stat is called as a separate command. This 
is less efficient but more portable.
+                                Process process = 
Runtime.getRuntime().exec(new String[]{"stat",
+                                        Platform.isMac() ? "-f" : "-c",
+                                        "%u",
+                                        file.getAbsolutePath()});
+                                int attempts = this.attempts;
+                                String line = null;
+                                do {
+                                    try {
+                                        if (process.exitValue() != 0) {
+                                            throw new 
IllegalStateException("Error while executing stat");
+                                        }
+                                        BufferedReader reader = new 
BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8"));
+                                        try {
+                                            line = reader.readLine();
+                                        } finally {
+                                            reader.close();
+                                        }
+                                        break;
+                                    } catch (IllegalThreadStateException 
ignored) {
+                                        try {
+                                            
Thread.sleep(timeUnit.toMillis(pause));
+                                        } catch (InterruptedException 
exception) {
+                                            Thread.currentThread().interrupt();
+                                            throw new 
IllegalStateException(exception);
+                                        }
+                                    }
+                                } while (--attempts > 0);
+                                if (line == null) {
+                                    process.destroy();
+                                    throw new IllegalStateException("Command 
for stat did not exit in time");
+                                }
+                                return Integer.parseInt(line);
+                            } catch (IOException exception) {
+                                throw new IllegalStateException("Unable to 
execute stat command", exception);
+                            }
+                        }
+                    }
+
+                    /**
+                     * An implementation for reading a POSIX owner using 
{@code istat}.
+                     */
+                    class UsingIStat implements PosixOwnerProvider {
+
+                        /**
+                         * A pattern to represent the owner on the console 
output.
+                         */
+                        private static final Pattern AIX_OWNER_PATTERN = 
Pattern.compile("Owner: (\\d+)\\(");
+
+                        /**
+                         * The maximum amount of attempts for checking the 
result of a foreign process.
+                         */
+                        private final int attempts;
+
+                        /**
+                         * The pause between two checks for another process to 
return.
+                         */
+                        private final long pause;
+
+                        /**
+                         * The time unit of the pause time.
+                         */
+                        private final TimeUnit timeUnit;
+
+                        /**
+                         * Creates a new provider for reading a POSIX owner 
using {@code istat}.
+                         *
+                         * @param attempts The maximum amount of attempts for 
checking the result of a foreign process.
+                         * @param pause    The pause between two checks for 
another process to return.
+                         * @param timeUnit The time unit of the pause time.
+                         */
+                        public UsingIStat(int attempts, long pause, TimeUnit 
timeUnit) {
+                            this.attempts = attempts;
+                            this.pause = pause;
+                            this.timeUnit = timeUnit;
+                        }
+
+                        /**
+                         * {@inheritDoc}
+                         */
+                        public int getOwnerIdOf(File file) {
+                            try {
+                                Process process = 
Runtime.getRuntime().exec(new String[]{"istat", file.getAbsolutePath()});
+                                int attempts = this.attempts;
+                                String lines = null;
+                                do {
+                                    try {
+                                        if (process.exitValue() != 0) {
+                                            throw new 
IllegalStateException("Error while executing istat");
+                                        }
+                                        StringBuilder output = new 
StringBuilder();
+                                        BufferedReader reader = new 
BufferedReader(new InputStreamReader(process.getInputStream(), "UTF-8"));
+                                        try {
+                                            String line;
+                                            while ((line = reader.readLine()) 
!= null) {
+                                                
output.append(line).append("\n");
+                                            }
+                                        } finally {
+                                            reader.close();
+                                        }
+                                        lines = output.toString();
+                                        break;
+                                    } catch (IllegalThreadStateException 
ignored) {
+                                        try {
+                                            
Thread.sleep(timeUnit.toMillis(pause));
+                                        } catch (InterruptedException 
exception) {
+                                            Thread.currentThread().interrupt();
+                                            throw new 
IllegalStateException(exception);
+                                        }
+                                    }
+                                } while (--attempts > 0);
+                                if (lines == null) {
+                                    process.destroy();
+                                    throw new IllegalStateException("Command 
for istat did not exit in time");
+                                }
+                                Matcher matcher = 
AIX_OWNER_PATTERN.matcher(lines);
+                                if (matcher.find()) {
+                                    return Integer.parseInt(matcher.group(1));
+                                } else {
+                                    throw new IllegalStateException("Unable to 
parse response from istat command: " + lines);
+                                }
+                            } catch (IOException exception) {
+                                throw new IllegalStateException("Unable to 
execute istat command", exception);
+                            }
+                        }
+                    }
+                }
             }
 
             /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/test/java/net/bytebuddy/agent/AttacherTest.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/test/java/net/bytebuddy/agent/AttacherTest.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/test/java/net/bytebuddy/agent/AttacherTest.java
      2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/test/java/net/bytebuddy/agent/AttacherTest.java
      2024-07-08 21:04:14.000000000 +0200
@@ -97,4 +97,4 @@
         public void detach() {
         }
     }
-}
\ No newline at end of file
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/test/java/net/bytebuddy/agent/ByteBuddyAgentTest.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/test/java/net/bytebuddy/agent/ByteBuddyAgentTest.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/test/java/net/bytebuddy/agent/ByteBuddyAgentTest.java
        2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/test/java/net/bytebuddy/agent/ByteBuddyAgentTest.java
        2024-07-08 21:04:14.000000000 +0200
@@ -1,5 +1,6 @@
 package net.bytebuddy.agent;
 
+import org.hamcrest.CoreMatchers;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/test/java/net/bytebuddy/agent/InstallerTest.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/test/java/net/bytebuddy/agent/InstallerTest.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-agent/src/test/java/net/bytebuddy/agent/InstallerTest.java
     2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-agent/src/test/java/net/bytebuddy/agent/InstallerTest.java
     2024-07-08 21:04:14.000000000 +0200
@@ -33,6 +33,7 @@
         Field field = Installer.class.getDeclaredField("instrumentation");
         field.setAccessible(true);
         actualInstrumentation = (Instrumentation) field.get(null);
+        field.set(null, null);
     }
 
     @After
@@ -85,4 +86,9 @@
             throw (Exception) exception.getTargetException();
         }
     }
+
+    @Test
+    public void testInstallerObfuscatedNameMatches() throws Exception {
+        assertThat(Installer.NAME, is(Installer.class.getName()));
+    }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-android/pom.xml 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-android/pom.xml
--- old/byte-buddy-byte-buddy-1.14.16/byte-buddy-android/pom.xml        
2024-05-22 13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/byte-buddy-android/pom.xml        
2024-07-08 21:04:14.000000000 +0200
@@ -5,7 +5,7 @@
     <parent>
         <groupId>net.bytebuddy</groupId>
         <artifactId>byte-buddy-parent</artifactId>
-        <version>1.14.16</version>
+        <version>1.14.18</version>
     </parent>
 
     <artifactId>byte-buddy-android</artifactId>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-android-test/pom.xml 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-android-test/pom.xml
--- old/byte-buddy-byte-buddy-1.14.16/byte-buddy-android-test/pom.xml   
2024-05-22 13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/byte-buddy-android-test/pom.xml   
2024-07-08 21:04:14.000000000 +0200
@@ -5,7 +5,7 @@
     <parent>
         <groupId>net.bytebuddy</groupId>
         <artifactId>byte-buddy-parent</artifactId>
-        <version>1.14.16</version>
+        <version>1.14.18</version>
     </parent>
 
     <artifactId>byte-buddy-android-test</artifactId>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-benchmark/pom.xml 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-benchmark/pom.xml
--- old/byte-buddy-byte-buddy-1.14.16/byte-buddy-benchmark/pom.xml      
2024-05-22 13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/byte-buddy-benchmark/pom.xml      
2024-07-08 21:04:14.000000000 +0200
@@ -5,7 +5,7 @@
     <parent>
         <groupId>net.bytebuddy</groupId>
         <artifactId>byte-buddy-parent</artifactId>
-        <version>1.14.16</version>
+        <version>1.14.18</version>
     </parent>
 
     <artifactId>byte-buddy-benchmark</artifactId>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/byte-buddy-byte-buddy-1.14.16/byte-buddy-dep/pom.xml 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-dep/pom.xml
--- old/byte-buddy-byte-buddy-1.14.16/byte-buddy-dep/pom.xml    2024-05-22 
13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/byte-buddy-dep/pom.xml    2024-07-08 
21:04:14.000000000 +0200
@@ -5,7 +5,7 @@
     <parent>
         <groupId>net.bytebuddy</groupId>
         <artifactId>byte-buddy-parent</artifactId>
-        <version>1.14.16</version>
+        <version>1.14.18</version>
     </parent>
 
     <!--
@@ -127,7 +127,7 @@
             <plugin>
                 <groupId>net.bytebuddy</groupId>
                 <artifactId>byte-buddy-maven-plugin</artifactId>
-                <version>1.14.15</version>
+                <version>1.14.17</version>
                 <executions>
                     <execution>
                         <phase>compile</phase>
@@ -142,7 +142,7 @@
                                 <transformation>
                                     <groupId>net.bytebuddy</groupId>
                                     <artifactId>byte-buddy</artifactId>
-                                    <version>1.14.15</version>
+                                    <version>1.14.17</version>
                                     
<plugin>net.bytebuddy.build.HashCodeAndEqualsPlugin$WithNonNullableFields</plugin>
                                     <arguments>
                                         <argument>
@@ -154,13 +154,13 @@
                                 <transformation>
                                     <groupId>net.bytebuddy</groupId>
                                     <artifactId>byte-buddy</artifactId>
-                                    <version>1.14.15</version>
+                                    <version>1.14.17</version>
                                     
<plugin>net.bytebuddy.build.CachedReturnPlugin</plugin>
                                 </transformation>
                                 <transformation>
                                     <groupId>net.bytebuddy</groupId>
                                     <artifactId>byte-buddy</artifactId>
-                                    <version>1.14.15</version>
+                                    <version>1.14.17</version>
                                     
<plugin>net.bytebuddy.build.AccessControllerPlugin</plugin>
                                     <arguments>
                                         <argument>
@@ -172,13 +172,13 @@
                                 <transformation>
                                     <groupId>net.bytebuddy</groupId>
                                     <artifactId>byte-buddy</artifactId>
-                                    <version>1.14.15</version>
+                                    <version>1.14.17</version>
                                     
<plugin>net.bytebuddy.build.DispatcherAnnotationPlugin</plugin>
                                 </transformation>
                                 <transformation>
                                     <groupId>net.bytebuddy</groupId>
                                     <artifactId>byte-buddy</artifactId>
-                                    <version>1.14.15</version>
+                                    <version>1.14.17</version>
                                     
<plugin>net.bytebuddy.build.RepeatedAnnotationPlugin</plugin>
                                 </transformation>
                             </transformations>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-dep/src/main/java/net/bytebuddy/agent/builder/AgentBuilder.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-dep/src/main/java/net/bytebuddy/agent/builder/AgentBuilder.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-dep/src/main/java/net/bytebuddy/agent/builder/AgentBuilder.java
        2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-dep/src/main/java/net/bytebuddy/agent/builder/AgentBuilder.java
        2024-07-08 21:04:14.000000000 +0200
@@ -2585,6 +2585,16 @@
             private final ConcurrentMap<Thread, Boolean> threads = new 
ConcurrentHashMap<Thread, Boolean>();
 
             /**
+             * Creates a default circularity lock. The constructor invokes all 
methods that are used by
+             * the lock to avoid that using this lock triggers class loading 
under use.
+             */
+            public Default() {
+                Thread thread = Thread.currentThread();
+                threads.putIfAbsent(thread, true);
+                threads.remove(thread);
+            }
+
+            /**
              * {@inheritDoc}
              */
             public boolean acquire() {
@@ -2646,6 +2656,15 @@
                 lock = new ReentrantLock();
                 this.time = time;
                 this.timeUnit = timeUnit;
+                try {
+                    if (!(time == 0 ? lock.tryLock() : lock.tryLock(time, 
timeUnit))) {
+                        throw new IllegalStateException();
+                    }
+                } catch (InterruptedException ignored) {
+                    Thread.currentThread().interrupt();
+                    return;
+                }
+                lock.unlock();
             }
 
             /**
@@ -7006,7 +7025,7 @@
                  * during reiteration. For these reasons, this strategy has to 
be used with care!
                  * </p>
                  */
-                enum WithSortOrderAssumption implements DiscoveryStrategy {
+                public enum WithSortOrderAssumption implements 
DiscoveryStrategy {
 
                     /**
                      * The singleton instance.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-dep/src/main/java/net/bytebuddy/asm/Advice.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-dep/src/main/java/net/bytebuddy/asm/Advice.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-dep/src/main/java/net/bytebuddy/asm/Advice.java
        2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-dep/src/main/java/net/bytebuddy/asm/Advice.java
        2024-07-08 21:04:14.000000000 +0200
@@ -7440,6 +7440,9 @@
                             default:
                                 throw new IllegalArgumentException("Unexpected 
frame type: " + type);
                         }
+                        if (instrumentedMethod.isConstructor() && 
currentFrameDivergence < instrumentedMethod.getStackSize()) {
+                            throw new IllegalStateException(instrumentedMethod 
+ " dropped implicit 'this' frame");
+                        }
                         methodVisitor.visitFrame(type, localVariableLength, 
localVariable, stackSize, stack);
                     }
                 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-dep/src/main/java/net/bytebuddy/dynamic/loading/ByteArrayClassLoader.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-dep/src/main/java/net/bytebuddy/dynamic/loading/ByteArrayClassLoader.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-dep/src/main/java/net/bytebuddy/dynamic/loading/ByteArrayClassLoader.java
      2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-dep/src/main/java/net/bytebuddy/dynamic/loading/ByteArrayClassLoader.java
      2024-07-08 21:04:14.000000000 +0200
@@ -1346,20 +1346,20 @@
         /**
          * Checks if a resource name represents a class file of a class that 
was loaded by this class loader.
          *
-         * @param resourceName The resource name of the class to be exposed as 
its class file.
+         * @param resource The resource name of the class to be exposed as its 
class file.
          * @return {@code true} if this class represents a class that is being 
loaded by this class loader.
          */
-        private boolean isShadowed(String resourceName) {
-            if (persistenceHandler.isManifest() || 
!resourceName.endsWith(CLASS_FILE_SUFFIX)) {
+        private boolean isShadowed(String resource) {
+            if (persistenceHandler.isManifest() || 
!resource.endsWith(CLASS_FILE_SUFFIX)) {
                 return false;
             }
             // This synchronization is required to avoid a racing condition to 
the actual class loading.
-            synchronized (this) {
-                String typeName = resourceName.replace('/', '.').substring(0, 
resourceName.length() - CLASS_FILE_SUFFIX.length());
-                if (typeDefinitions.containsKey(typeName)) {
+            String name = resource.replace('/', '.').substring(0, 
resource.length() - CLASS_FILE_SUFFIX.length());
+            synchronized 
(SYNCHRONIZATION_STRATEGY.initialize().getClassLoadingLock(this, name)) {
+                if (typeDefinitions.containsKey(name)) {
                     return true;
                 }
-                Class<?> loadedClass = findLoadedClass(typeName);
+                Class<?> loadedClass = findLoadedClass(name);
                 return loadedClass != null && loadedClass.getClassLoader() == 
this;
             }
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-dep/src/test/java/net/bytebuddy/asm/AdviceTest.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-dep/src/test/java/net/bytebuddy/asm/AdviceTest.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-dep/src/test/java/net/bytebuddy/asm/AdviceTest.java
    2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-dep/src/test/java/net/bytebuddy/asm/AdviceTest.java
    2024-07-08 21:04:14.000000000 +0200
@@ -8,15 +8,19 @@
 import net.bytebuddy.dynamic.ClassFileLocator;
 import net.bytebuddy.dynamic.loading.ClassLoadingStrategy;
 import net.bytebuddy.dynamic.loading.InjectionClassLoader;
+import net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy;
 import net.bytebuddy.implementation.Implementation;
 import net.bytebuddy.implementation.bytecode.ByteCodeAppender;
 import net.bytebuddy.implementation.bytecode.StackManipulation;
 import net.bytebuddy.implementation.bytecode.assign.Assigner;
 import net.bytebuddy.implementation.bytecode.constant.ClassConstant;
+import net.bytebuddy.implementation.bytecode.member.MethodInvocation;
+import net.bytebuddy.implementation.bytecode.member.MethodReturn;
 import net.bytebuddy.implementation.bytecode.member.MethodVariableAccess;
 import net.bytebuddy.matcher.ElementMatchers;
 import net.bytebuddy.pool.TypePool;
 import net.bytebuddy.test.packaging.AdviceTestHelper;
+import net.bytebuddy.test.utility.DebuggingWrapper;
 import net.bytebuddy.test.utility.JavaVersionRule;
 import net.bytebuddy.utility.JavaType;
 import org.junit.Rule;
@@ -1638,7 +1642,7 @@
     @Test
     public void testAssigningEnterPostProcessorInline() throws Exception {
         Class<?> type = new ByteBuddy()
-                .redefine(PostProcessorInlineTest.class)
+                .redefine(PostProcessorInline.class)
                 .visit(Advice.withCustomMapping().with(new 
Advice.PostProcessor.Factory() {
                     public Advice.PostProcessor make(final 
MethodDescription.InDefinedShape advice, boolean exit) {
                         return new Advice.PostProcessor() {
@@ -1655,7 +1659,7 @@
                             }
                         };
                     }
-                }).to(PostProcessorInlineTest.class).on(named(FOO)))
+                }).to(PostProcessorInline.class).on(named(FOO)))
                 .make()
                 .load(ClassLoadingStrategy.BOOTSTRAP_LOADER, 
ClassLoadingStrategy.Default.WRAPPER)
                 .getLoaded();
@@ -1665,7 +1669,7 @@
     @Test
     public void testAssigningEnterPostProcessorDelegate() throws Exception {
         Class<?> type = new ByteBuddy()
-                .redefine(PostProcessorDelegateTest.class)
+                .redefine(PostProcessorDelegate.class)
                 .visit(Advice.withCustomMapping().with(new 
Advice.PostProcessor.Factory() {
                     public Advice.PostProcessor make(final 
MethodDescription.InDefinedShape advice, boolean exit) {
                         return new Advice.PostProcessor() {
@@ -1682,7 +1686,7 @@
                             }
                         };
                     }
-                }).to(PostProcessorDelegateTest.class).on(named(FOO)))
+                }).to(PostProcessorDelegate.class).on(named(FOO)))
                 .make()
                 .load(ClassLoadingStrategy.BOOTSTRAP_LOADER, 
ClassLoadingStrategy.Default.WRAPPER)
                 .getLoaded();
@@ -1785,14 +1789,38 @@
     @Test
     public void testWriteFieldInConstructor() throws Exception {
         Class<?> sample = new ByteBuddy()
-                .redefine(ConstructorWriteFieldTest.class)
-                
.visit(Advice.to(ConstructorWriteFieldTest.class).on(isConstructor()))
+                .redefine(ConstructorWriteField.class)
+                
.visit(Advice.to(ConstructorWriteField.class).on(isConstructor()))
                 .make()
                 .load(ClassLoadingStrategy.BOOTSTRAP_LOADER, 
ClassLoadingStrategy.Default.WRAPPER)
                 .getLoaded();
         
assertThat(sample.getField(FOO).get(sample.getConstructor().newInstance()), 
is((Object) FOO));
     }
 
+    @Test(expected = IllegalStateException.class)
+    public void testDroppingOfThisFrameInConstructor() throws Exception {
+        new ByteBuddy()
+                .subclass(Object.class, 
ConstructorStrategy.Default.NO_CONSTRUCTORS)
+                .defineConstructor(Visibility.PUBLIC)
+                .intercept(new Implementation.Simple(
+                        MethodVariableAccess.loadThis(),
+                        MethodInvocation.invoke(new 
MethodDescription.ForLoadedConstructor(Object.class.getConstructor()))
+                                
.special(TypeDescription.ForLoadedType.of(Object.class)),
+                        new StackManipulation.AbstractBase() {
+                            @Override
+                            public Size apply(MethodVisitor methodVisitor, 
Implementation.Context implementationContext) {
+                                methodVisitor.visitFrame(Opcodes.F_CHOP, 1, 
null, 0, null);
+                                return Size.ZERO;
+                            }
+                        },
+                        MethodReturn.VOID
+                ))
+                .visit(DebuggingWrapper.makeDefault())
+                .visit(Advice.to(EmptyExitAdvice.class).on(isConstructor()))
+                .make();
+    }
+
+
     @Test(expected = IllegalArgumentException.class)
     public void testUserSerializableTypeValueNonAssignable() throws Exception {
         new ByteBuddy()
@@ -4127,7 +4155,7 @@
         }
     }
 
-    public static class PostProcessorInlineTest {
+    public static class PostProcessorInline {
 
         @Advice.OnMethodEnter
         static String enter() {
@@ -4139,7 +4167,7 @@
         }
     }
 
-    public static class PostProcessorDelegateTest {
+    public static class PostProcessorDelegate {
 
         @Advice.OnMethodEnter(inline = false)
         static String enter() {
@@ -4151,7 +4179,7 @@
         }
     }
 
-    public static class ConstructorWriteFieldTest {
+    public static class ConstructorWriteField {
 
         public String foo;
 
@@ -4160,4 +4188,12 @@
             return value = "foo";
         }
     }
+
+    public static class EmptyExitAdvice {
+
+        @Advice.OnMethodExit
+        static void exit() {
+            /* do nothing */
+        }
+    }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin/src/main/java/net/bytebuddy/build/gradle/android/ByteBuddyLocalClassesEnhancerTask.java
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin/src/main/java/net/bytebuddy/build/gradle/android/ByteBuddyLocalClassesEnhancerTask.java
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin/src/main/java/net/bytebuddy/build/gradle/android/ByteBuddyLocalClassesEnhancerTask.java
   2024-05-22 13:35:07.000000000 +0200
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin/src/main/java/net/bytebuddy/build/gradle/android/ByteBuddyLocalClassesEnhancerTask.java
   2024-07-08 21:04:14.000000000 +0200
@@ -378,7 +378,7 @@
                     outputStream.closeEntry();
                 } catch (ZipException exception) {
                     String name = element.getName();
-                    if (!name.startsWith("META-INF") && 
!name.endsWith("-info.class")) {
+                    if (!name.startsWith("META-INF") && 
!name.endsWith("-info.class") && name.endsWith(".class")) {
                         throw exception;
                     }
                 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/LICENSE
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/LICENSE
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/LICENSE
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/LICENSE
        2024-07-08 21:04:14.000000000 +0200
@@ -0,0 +1 @@
+A license
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/LICENSE.txt
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/LICENSE.txt
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/LICENSE.txt
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/LICENSE.txt
    2024-07-08 21:04:14.000000000 +0200
@@ -0,0 +1 @@
+A license
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/NOTICE
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/NOTICE
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/NOTICE
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/NOTICE
 2024-07-08 21:04:14.000000000 +0200
@@ -0,0 +1 @@
+A notice
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/NOTICE.txt
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/NOTICE.txt
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/NOTICE.txt
     1970-01-01 01:00:00.000000000 +0100
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation-lib/src/main/resources/NOTICE.txt
     2024-07-08 21:04:14.000000000 +0200
@@ -0,0 +1 @@
+A notice
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/LICENSE
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/LICENSE
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/LICENSE
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/LICENSE
       2024-07-08 21:04:14.000000000 +0200
@@ -0,0 +1 @@
+A license
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/LICENSE.txt
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/LICENSE.txt
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/LICENSE.txt
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/LICENSE.txt
   2024-07-08 21:04:14.000000000 +0200
@@ -0,0 +1 @@
+A license
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/NOTICE
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/NOTICE
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/NOTICE
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/NOTICE
        2024-07-08 21:04:14.000000000 +0200
@@ -0,0 +1 @@
+A notice
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/NOTICE.txt
 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/NOTICE.txt
--- 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/NOTICE.txt
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/android-plugin-test/service-implementation2-lib/src/main/resources/NOTICE.txt
    2024-07-08 21:04:14.000000000 +0200
@@ -0,0 +1 @@
+A notice
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/pom.xml 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/pom.xml
--- old/byte-buddy-byte-buddy-1.14.16/byte-buddy-gradle-plugin/pom.xml  
2024-05-22 13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/byte-buddy-gradle-plugin/pom.xml  
2024-07-08 21:04:14.000000000 +0200
@@ -5,7 +5,7 @@
     <parent>
         <groupId>net.bytebuddy</groupId>
         <artifactId>byte-buddy-parent</artifactId>
-        <version>1.14.16</version>
+        <version>1.14.18</version>
     </parent>
 
     <artifactId>byte-buddy-gradle-plugin</artifactId>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/byte-buddy-byte-buddy-1.14.16/byte-buddy-maven-plugin/pom.xml 
new/byte-buddy-byte-buddy-1.14.18/byte-buddy-maven-plugin/pom.xml
--- old/byte-buddy-byte-buddy-1.14.16/byte-buddy-maven-plugin/pom.xml   
2024-05-22 13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/byte-buddy-maven-plugin/pom.xml   
2024-07-08 21:04:14.000000000 +0200
@@ -5,7 +5,7 @@
     <parent>
         <groupId>net.bytebuddy</groupId>
         <artifactId>byte-buddy-parent</artifactId>
-        <version>1.14.16</version>
+        <version>1.14.18</version>
     </parent>
 
     <artifactId>byte-buddy-maven-plugin</artifactId>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/byte-buddy-byte-buddy-1.14.16/pom.xml 
new/byte-buddy-byte-buddy-1.14.18/pom.xml
--- old/byte-buddy-byte-buddy-1.14.16/pom.xml   2024-05-22 13:35:07.000000000 
+0200
+++ new/byte-buddy-byte-buddy-1.14.18/pom.xml   2024-07-08 21:04:14.000000000 
+0200
@@ -4,7 +4,7 @@
 
     <groupId>net.bytebuddy</groupId>
     <artifactId>byte-buddy-parent</artifactId>
-    <version>1.14.16</version>
+    <version>1.14.18</version>
     <packaging>pom</packaging>
 
     <inceptionYear>2014</inceptionYear>
@@ -61,7 +61,7 @@
         <bytebuddy.integration>false</bytebuddy.integration>
         <bytebuddy.experimental>false</bytebuddy.experimental>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        
<project.build.outputTimestamp>1716377554</project.build.outputTimestamp>
+        
<project.build.outputTimestamp>1720465357</project.build.outputTimestamp>
         <sourcecode.main.version>1.5</sourcecode.main.version>
         <sourcecode.test.version>1.6</sourcecode.test.version>
         <bytecode.main.version>1.5</bytecode.main.version>
@@ -154,7 +154,7 @@
         <connection>scm:git:${repository.url}</connection>
         <developerConnection>scm:git:${repository.url}</developerConnection>
         <url>${repository.url}</url>
-        <tag>byte-buddy-1.14.16</tag>
+        <tag>byte-buddy-1.14.18</tag>
     </scm>
 
     <dependencies>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/byte-buddy-byte-buddy-1.14.16/release-notes.md 
new/byte-buddy-byte-buddy-1.14.18/release-notes.md
--- old/byte-buddy-byte-buddy-1.14.16/release-notes.md  2024-05-22 
13:35:07.000000000 +0200
+++ new/byte-buddy-byte-buddy-1.14.18/release-notes.md  2024-07-08 
21:04:14.000000000 +0200
@@ -1,7 +1,15 @@
 Byte Buddy release notes
 ------------------------
 
-### 8. Mai 2024: version 1.14.15
+### 29. May 2024: version 1.14.17
+
+- Avoid crashing of Android plugin when there are duplicate files for licenses 
or license notices.
+
+### 22. May 2024: version 1.14.16
+
+- Update ASM and introduce support for Java 23.
+
+### 8. May 2024: version 1.14.15
 
 - Allow attaching from root on J9.
 
@@ -28,7 +36,7 @@
 - Adjusts Gradle plugin to support Gradle 8.4 without warnings.
 - Avoid blurry exception on build plugin for fail fast.
 
-### 9. October 2023: version 1.14.10
+### 16. October 2023: version 1.14.10
 
 - Add lazy facade to default `TypePool` in `AgentBuilder` to avoid parsing of 
types ignored by name.
 - Avoid module info classes in Android plugin.

Reply via email to