tag:blogger.com,1999:blog-87213634589845902572024-03-13T17:56:01.808+00:00Byteman BlogAndrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.comBlogger68125tag:blogger.com,1999:blog-8721363458984590257.post-32807825769458639412023-11-16T14:24:00.000+00:002023-11-16T14:24:42.038+00:00 Byteman 4.0.22 has been released <p></p><p></p><p>Byteman 4.0.22 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes up to and including JDK22.</p> <br />Byteman
4.0.22 is a maintenance release which enables Byteman to be used with
JDK22 releases. It also contains few small bug fixes and a feature enhancement. More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a> and the latest <a href="https://downloads.jboss.org/byteman/latest/byteman-programmers-guide.pdf"> Byteman Programmers Guide</a>.
Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-88183586507571671112023-04-14T11:55:00.002+01:002023-04-14T11:55:33.954+01:00Byteman 4.0.21 has been released<p> </p><p>Byteman 4.0.21 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes up to and including JDK21.</p> <br />Byteman
4.0.21 is a maintenance release which enables Byteman to be used with
JDK21 releases. It also contains one small bug fixes and a feature enhancement. More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a> and the latest <a href="https://downloads.jboss.org/byteman/latest/byteman-programmers-guide.pdf"> Byteman Programmers Guide</a>.
Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-32103364261817892222022-10-12T11:37:00.000+01:002022-10-12T11:37:28.756+01:00Byteman 4.0.20 has been released <p> </p><p>Byteman 4.0.20 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes up to and including JDK20.</p> <br />Byteman
4.0.20 is a maintenance release which enables Byteman to be used with
JDK20 releases. It also contains two small bug fixes. More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a> and the latest <a href="https://downloads.jboss.org/byteman/latest/byteman-programmers-guide.pdf"> Byteman Programmers Guide</a>.
Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-31963190350059715032022-05-24T13:26:00.004+01:002022-05-24T13:27:18.720+01:00Byteman 4.0.19 has been released <p> </p><p>Byteman 4.0.19 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes up to and including JDK19.</p> <br />Byteman
4.0.19 is a maintenance release which enables Byteman to be used with JDK19 releases. It also contains two small performance and documentation enhancements. More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a> and the latest Byteman Programmers Guide.Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-16783094898078702242021-11-25T14:14:00.006+00:002021-11-25T14:24:06.574+00:00 Byteman 4.0.18 has been released <p> </p><p>Byteman 4.0.18 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes up to and including JDK18.</p><p> <br />Byteman
4.0.18 is a maintenance release which provides one enhancement, enabling the choice of <span style="font-family: courier;">TARGET</span> vs <span style="font-family: courier;">TRIGGER</span> semantics when rules inject down class or interface hierarchies. For rules of this type it is possible that the <span style="font-family: courier;"><i>TARGET</i></span> class/interface for the rule, the one named in the <span style="font-family: courier;">CLASS</span> clause, may differ from the <span style="font-family: courier;"><i>TRIGGER</i></span> class, the subclass or interface implementation into which the rule actually gets injected. An <span style="font-family: courier;">AS TARGET</span> clause in the rule body requests that the rule is typed <i>lexical</i>ly using <span style="font-family: courier;">TARGET</span> class as the type for <span style="font-family: courier;">$this</span>/<span style="font-family: courier;">$</span>0. An <span style="font-family: courier;">AS TRIGGER</span> clause means it is typed <i>dynamically</i> using the <span style="font-family: courier;">TRIGGER</span> class as the type for <span style="font-family: courier;">$this</span>/<span style="font-family: courier;">$0</span>.
Note that up to now Byteman has always used <span style="font-family: courier;">TRIGGER</span> semantics and will continue to use this as the default. More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a> and the latest Byteman Programmers Guide.<br /></p>Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-12924308245250989362021-09-03T15:47:00.005+01:002021-09-03T15:47:53.801+01:00Byteman 4.0.17 has been released <p>Byteman 4.0.17 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes up to and including JDK17.</p><p> <br />Byteman
4.0.17 is a maintenance release which provides a few small enhancements and fixes a minor bug.
More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.</p><p> </p>Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-1725718599160301892021-06-16T14:38:00.003+01:002021-06-16T14:38:35.605+01:00 Byteman 4.0.16 has been released <p> Byteman 4.0.16 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes up to and including JDK17.</p><p> <br />
Byteman
4.0.16 removes the JBoss Modules plugin from the release, in the process removing a dependency on the jboss-modules jar.
The plugin has never been fully functional on JDK9+ releases. Anyone wishing to use the plugin as is should continue to use earlier releases. Alternatively, you can revert to using the Byteman 3.0.19 which runs on JDK8- releases and includes a fully working version of the plugin.</p><p> </p><p>More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>. <br /></p>Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-906592853833807932021-05-10T12:00:00.000+01:002021-05-10T12:00:01.239+01:00 Byteman 4.0.15 has been released <p>Byteman 4.0.15 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes up to and including JDK17. It is also
recommended as the preferred release for use on JDK8- runtimes.<br />
<br />
Byteman
4.0.15 is a maintenance release which upgrades the versions of two components.
More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.
</p>Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-85616286739891730352021-02-18T14:37:00.000+00:002021-02-18T14:37:01.977+00:00 Byteman 4.0.14 has been released <p>Byteman 4.0.14 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.<br />
<br />
Byteman
4.0.14 is a maintenance release which fixes a few minor issues.
More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.
</p>Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-77701878460991707052020-08-10T13:26:00.001+01:002020-08-10T13:26:08.586+01:00Byteman 4.0.13 has been released<p>Byteman 4.0.13 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.<br />
<br />
Byteman
4.0.13 is a maintenance release which updates Byteman to work with the latest JDK releases including JDK16.
More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.
</p>Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-47348558305375906662020-07-20T15:31:00.001+01:002020-07-20T15:31:48.566+01:00Byteman 4.0.12 has been released
Byteman 4.0.12 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.<br />
<br />
Byteman
4.0.12 is a maintenance release which fixes a small bug using AT NEW rule locations.
More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.
Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-64427698218868532782020-02-24T17:20:00.000+00:002020-02-24T17:26:05.349+00:00 Byteman 4.0.11 has been released Byteman 4.0.11 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.<br />
<br />
Byteman
4.0.11 is a maintenance release which fixes a build issue introduced in
4.0.10 and corrects a few minor errors in the rule parser.
More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-36491346085107620042020-01-17T11:58:00.000+00:002020-01-17T11:58:14.434+00:00Byteman 4.0.10 has been releasedByteman 4.0.10 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.<br />
<br />Byteman
4.0.10 is a maintenance release which fixes a regression introduced in 4.0.9 and extends the range of supported JDK releases to include JDK15. More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.<br />
<span class="post-author vcard"><br /></span>Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-16479295014625275112019-11-18T17:12:00.001+00:002019-11-18T17:12:45.534+00:00Byteman 4.0.9 has been releasedByteman 4.0.9 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.<br />
<br />Byteman
4.0.9 is a maintenance release which includes a small number of bug fixes. More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.<br />
<div class="post-footer-line post-footer-line-1">
<span class="post-author vcard"><br /></span><span class="post-timestamp"><a class="timestamp-link" href="https://bytemanblog.blogspot.com/2019/10/byteman-408-has-been-released.html" rel="bookmark" title="permanent link"><abbr class="published" itemprop="datePublished" title="2019-10-14T16:16:00+01:00"></abbr></a>
</span>
<span class="reaction-buttons">
</span>
<span class="post-comment-link">
</span>
<span class="post-backlinks post-comment-link">
</span>
<span class="post-icons">
</span>
<div class="post-share-buttons goog-inline-block">
</div>
</div>
Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-74794629844633227002019-10-14T16:16:00.000+01:002019-10-14T16:16:09.729+01:00 Byteman 4.0.8 has been released <h3 class="post-title entry-title" itemprop="name">
<br /></h3>
<div class="post-header">
</div>
Byteman 4.0.8 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on all JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.<br />
<br />Byteman
4.0.8 is a maintenance release which includes a few minor enhancements. More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-38763464666247623032019-05-21T10:46:00.001+01:002019-05-21T10:46:40.873+01:00Byteman 4.0.7 has been released
Byteman 4.0.7 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.<br />
<br />Byteman
4.0.7 is a maintenance release which includes a few minor bug fixes. More details are provided in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.<br />
<br />Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-21180188281535978722019-03-22T16:15:00.004+00:002019-03-25T08:54:30.878+00:00Byteman 4.0.6 has been releasedByteman 4.0.6 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest update release for use on JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.<br />
<br />
Byteman
4.0.6 updates the 4.0.5 release to ensure that it works correctly on
the latest JDK13 releases. Specifically, it ensures that Byteman is able
to process class files with a JDK13 class file version (the previous
release would run on JDK13 but could only consume classes whose bytecode file
version was for JDK12 or lower.<br />
<br />
Byteman
4.0.6 includes two exciting new features. The first provides support for a new location specifier AT/AFTER NEW. This can be used to inject a rule at locations in method code where a new instance or new array is created. Full details are provided in <a href="http://downloads.jboss.org/byteman/latest/byteman-programmers-guide.html#rule-events">Rule Events</a> section of the <a href="http://downloads.jboss.org/byteman/latest/byteman-programmers-guide.html">latest Byteman Programmer's Guide</a>.<br />
<br />
<br />
The second new feature has been contributed by Red Hat's Jonathan Halliday (many thanks, Jonathan). It extends the BMUnit package to support integration with JUnit5. The API change is relatively simple. With the original JUnit integration you needed to annotate your test classes with the JUnit4 @RunWith annotation, configuring it so it used Byteman class BMUnitRunner to run the tests. Integration with JUnit5 relies on use of annotation @WithByteman. There is no longer any need to use a Byteman-specific Runner class.<br />
<br />
Since JUnit5 relies on JDK8 classes you can only use this new feature on JDK8+. You will need to ensure that you include new jar byteman-bmunit5.jar as a dependency in order to be able to access the new annotation. Full details of how to configure BMUNit tests with JUnit5 have been added to the <a href="https://developer.jboss.org/wiki/BMUnitUsingBytemanWithJUnitOrTestNGFromMavenAndAnt#top">BMUnit tutorial</a>.<br />
<br />
<br />
Byteman 4.0.6 also includes a couple of small bug fixes. More details can be found in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-50594712404268870012018-11-21T10:18:00.005+00:002018-11-21T10:18:56.960+00:00Byteman 4.0.5 has been releasedByteman 4.0.5 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>. It is the latest update release for use on JDK9+ runtimes. It is also recommended as the preferred release for use on JDK8- runtimes.<br />
<br />
Byteman
4.0.5 updates the 4.0.4 release to ensure that it works correctly on
the latest jdk12 releases. Specifically, it ensures that Byteman is able
to process class files with a JDK12 class file version (the previous
release would run on jdk12 but could only classes whose bytecode file
version was for jdk11 or lower.<br />
<br />
Byteman
4.0.5 also fixes a small bug which broke access to non-public members of classes when loaded via a JBoss Modules class loader.<br />
<br />
More details can be found in the <a href="http://downloads.jboss.org/byteman/latest/ReleaseNotes.txt">Release Notes</a>.<br />
<br />Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-61520093206563947702018-07-16T21:34:00.002+01:002018-07-16T21:34:36.977+01:00Byteman 4.0.4 has been releasedByteman 4.0.4 is now available from the <a href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>. It is the latest release for use on JDK9+ runtimes. It is also recommended as the preferred release for use on JDK8- runtimes.<br /><br />Byteman 4.0.3 updates the 4.0.3 release to ensure that it works correctly on the latest jdk11 releases. Specifically, it ensures that Byteman is able to process class files with a JDK11 class file version (the previous release would run on jdk11 but could only classes whose bytecode file version was for jdk10 or lower. More details can be found in the <a href="http://downloads.jboss.org/byteman/4.0.4/ReleaseNotes.txt">Release Notes</a>.<br />
<br />Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-20918404588239790502018-07-03T09:02:00.000+01:002018-07-03T09:05:13.222+01:00Byteman 4.0.3 has been released<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
Byteman 4.0.3 is now available from the <a class="moz-txt-link-freetext" href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a class="moz-txt-link-freetext" href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest release for use on JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
<br /></div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
Byteman 4.0.3 updates the 4.0.2 release with a small number of bug fixes
and performance improvements. More details can be found in the <a href="http://downloads.jboss.org/byteman/4.0.3/ReleaseNotes.txt">Release Notes</a>.</div>
Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-60810198081600139972018-04-09T16:53:00.002+01:002018-04-09T16:53:38.902+01:00Byteman 4.0.2 has been released <div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
Byteman 4.0.2 is now available from the <a class="moz-txt-link-freetext" href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a class="moz-txt-link-freetext" href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>.
It is the latest release for use on JDK9+ runtimes. It is also
recommended as the preferred release for use on JDK8- runtimes.</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
<br />
</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
Byteman 4.0.2 updates the 4.0.1 release with a small number of bug fixes and performance improvements. More details can be found in the <a href="http://downloads.jboss.org/byteman/4.0.2/ReleaseNotes.txt">Release Notes</a>.</div>
Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-42312998848589799642018-02-19T16:02:00.001+00:002018-02-19T17:12:11.822+00:00Byteman 4.0.1 has been released<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
Byteman 4.0.1 is now available from the <a class="moz-txt-link-freetext" href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a class="moz-txt-link-freetext" href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>. It is the latest release for use on JDK9+ runtimes. It is also recommended as the preferred release for use on JDK8- runtimes.<br />
</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
Byteman 4.0.1 upgrades the 4.0.0 release to ensure it runs correctly on the latest JDK10 release. It is also the preferred version to use for all prior JDK releases.<br />
</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
Byteman 4.0.1 also includes a small number of feature and bug fix updates. More details can be found in the <a href="http://downloads.jboss.org/byteman/4.0.1/ReleaseNotes.txt">Release Notes</a>.</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
</div>
Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-80988009435118571102018-01-18T13:05:00.003+00:002018-01-18T13:08:57.160+00:00 Byteman 4.0.0 has been released <div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
Byteman 4.0.0 is now available from the <a class="moz-txt-link-freetext" href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a class="moz-txt-link-freetext" href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>. It is the final release for use on JDK9+ runtimes. It is also recommended as the preferred release for use on JDK8- runtimes.<br />
<br />
As well as supporting full operation in releases employing the Java Platform Module System Release 4.0.0 contains a host of bug fixes and a few other minor features. The most noticeable fix is to Helper lifecycle processing, ensuring that rule installs and uninstalls are consistently observed and responded to with activate, install, uninstall and deactivate events notified to the all affected rule helper classes. This fix has finally enabled the default class Helper's deactivated callback to clear internally allocated rule resources when all rules using Helper have been uninstalled.</div>
<br />
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
More details can be found in the <a href="http://downloads.jboss.org/byteman/4.0.0/ReleaseNotes.txt">Release Notes</a>.</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
</div>
Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-40947903743970925982017-05-22T15:19:00.001+01:002018-01-18T12:28:31.542+00:00Configuring BMUnit for the latest JDK9 EA releasesThe latest JDK9 EA access releases (jdk-ea+169 and subsequent) now incorporates a restriction that affects use of the BMUnit package (BMUnit integrates Byteman with JUnit and TestNG -- see the <a href="http://developer.jboss.org/wiki/BMUnitUsingBytemanWithJUnitOrTestNGFromMavenAndAnt#top">2nd Byteman tutorial</a> for full details).<br />
<br />
BMUnit makes it easy to use Byteman in unit and integration tests. It provides <span style="font-family: "courier new" , "courier" , monospace;">@BMRule</span> and <span style="font-family: "courier new" , "courier" , monospace;">@BMScript</span> annotations used to annotate test methods or test classes. These annotations specify the Byteman rules you want injected into your application, test or JDK runtime classes prior to running a test. In order for that to work, BMUnit needs to ensure the Byteman agent is loaded into the current test JVM before running the annotated tests.<br />
<br />
As of the Early Access 169 release, JDK9 now includes a check which, by default, stops code using the Agent Load library to hoist an agent into the same JVM. This is provided for users who want to <i>guarantee</i> that code they have deployed in their classpath <i>cannot</i> load an agent in order to escalate its own privilege level (agents like Byteman have very special powers, most notably the ability to rewrite method bytecode).<br />
<br />
Of course, that kind of hostage scenario should never be an issue. Users ought to be in full control of what code gets placed in their classpath. So, they should not have to be concerned that a deployment might attempt to use this capability unless it is intended Anyway, irrespective of the rationale for its inclusion, this restriction has been added to JDK9 as a belt and braces security feature for the super-paranoid^H^H^H^H^H^H -safety conscious user.<br />
<br />
Of course, this restriction affects BMUnit because it has to use the Agent Load library to hoist the Byteman agent into the running JVM in order then to be able to inject code changes required for unit tests. Having BMUnit load the agent automatically is much more convenient than configuring the relevant agent options on the Java command line. In particular, BMUNit provides the <span style="font-family: "courier new" , "courier" , monospace;">BMUnitConfig</span> annotation, allowing you to easily configure/reset all the extra arguments that you would otherwise have to squeeze into one long command line string. So, it is much better to be able to remove this restriction and rely on self-hoisting when running your BMUnit tests.<br />
<br />
Luckily, it is very simple to disable the restriction. The JVM will allow an agent self-hoist to proceed if a specific system property, <span style="font-family: "courier new" , "courier" , monospace;">jdk.attach.allowAttachSelf</span>, is set to the String value <span style="font-family: "courier new" , "courier" , monospace;">"true"</span>. This is a <i>read-only</i> property so it has to be set when the test JVM is started.<br />
<br />
If you are using maven then this means that you need to modify the configuration for your maven surefire or failsafe tests to specify the required system property at JVM start setting using the <span style="font-family: "Courier New", Courier, monospace;">argLine</span> configuration element<br />
<br />
<pre><span style="font-family: "courier new" , "courier" , monospace;"><argLine>-Djdk.attach.allowAttachSelf=true</argLine></span>
</pre>
<br />
n.b. specifying this value as a <span style="font-family: "Courier New", Courier, monospace;">property</span> element in the <span style="font-family: "Courier New", Courier, monospace;">properties</span> configuration element will not work.<br />
<br />
If you are running from the command line or using some other tool then ensure you pass the property setting on the java command line using the -D command flag<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;"> java -Djdk.attach.allowAttachSelf=true ...</span><br />
<br />
It is probably worth adding this to all your BMUnit test configurations even if you are not yet using jdk9-ea+169 or later releases. You will be prepared for when you do eventually upgrade and setting the property will be harmless since it will ignored by any earlier JDK releases (including on JDK8).<br />
<br />Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0tag:blogger.com,1999:blog-8721363458984590257.post-25225694129205779182017-04-27T14:00:00.003+01:002017-04-27T14:04:42.364+01:00 Byteman 3.0.10 and 4.0.0-BETA5 have been released <div class="post-header">
</div>
<h2 class="date-header">
</h2>
<a href="https://www.blogger.com/null" name="3028514058787793602"></a><br />
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
Byteman 3.0.10 is now available from the <a class="moz-txt-link-freetext" href="http://www.jboss.org/byteman/downloads">Byteman downloads page</a> and from the <a class="moz-txt-link-freetext" href="https://oss.sonatype.org/index.html#nexus-search;quick%7Ebyteman">Maven Central repository</a>. It is accompanied by a corresponding 4.0.0-BETA5 release for JDK9.</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
3.0.10 is a minor update for the preceding release 3.0.9. It fixes a couple of bugs in the type checker. It is intended for use on JDK8 and earlier.</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
4.0.0-BETA5 is the corresponding release for use with JDK9. As well as providing the type checker fixes it also includes fixes to a couple of bugs found when testing on jdk9. One is a genuine bug in Byteman, the other works around a limitation on the use of method handles as currently implemented by JDK9.</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
More details can be found in the <a href="http://downloads.jboss.org/byteman/3.0.10/ReleaseNotes.txt">Release Notes</a>.<br />
Note that release 3.0.9 is intended for use on JDK6-8 whereas preview release
Byteman 4.0.0-BETA4 is intended for use on the latest early access releases of
JDK9 (jdk9-ea+165 and later).</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
Note also that 4.0.0-BETA4 should still work compatibly with 3.0.10 on JDK6-8.</div>
<div class="post-body entry-content" id="post-body-3028514058787793602" itemprop="description articleBody">
</div>
Andrew Dinnhttp://www.blogger.com/profile/05800566216491514191noreply@blogger.com0