changes.html 54.5 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->

<!-- start the processing -->
<html>
<head>
<link rel="stylesheet" type="text/css" href="./../docs/css/style.css"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="author" value="JMeter developers">
<meta name="email" value="dev AT jmeter.apache.org">

<title>Apache JMeter - Changes</title>
<style>
  .code { font-weight: bold; }
</style>
</head>

<body bgcolor="#ffffff" text="#000000" link="#525D76">
<table border="0" cellspacing="0">
<tr>
<td align="left">
<a href="http://www.apache.org"><img style="margin: 0px 30px 0px 0px" title="Apache Software Foundation" width="261" height="106" src="./../docs/images/asf-logo.png" border="0"/></a>
</td>
<td align="right">
<a href="http://jmeter.apache.org/"><img width="259" height="88" src="./../docs/images/jmeter.png" alt="Apache JMeter" title="Apache JMeter" border="0"/></a>
</td>
</tr>
</table>
<table border="0" cellspacing="4">
<tr><td>
<hr noshade size="1"/>
</td></tr>
<tr>
<td align="left" valign="top">
<br>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr><td bgcolor="#525D76">
<font color="#ffffff" face="arial,helvetica,sanserif">
<strong>Changes</strong></font>
</td></tr>
<tr><td>
<blockquote>
<style type="text/css">
h2 { color: #960000; }
h3 { color: #960000; }
</style><p>
<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
<tr><td>
<b>This page details the changes made in the current version only.</b>
<br>
Earlier changes are detailed in the <a href="changes_history.html">History of Previous Changes</a>.
</td></tr>
</table>
</p>
<h1>Version 3.2</h1><p>
Summary
</p><ul>
<li><a href="#New and Noteworthy">New and Noteworthy</a></li>
<li><a href="#Incompatible changes">Incompatible changes</a></li>
<li><a href="#Bug fixes">Bug fixes</a></li>
<li><a href="#Improvements">Improvements</a></li>
<li><a href="#Non-functional changes">Non-functional changes</a></li>
<li><a href="#Known problems and workarounds">Known problems and workarounds</a></li>
<li><a href="#Thanks">Thanks</a></li>

</ul><br/><br/><table width="100%" cellpadding="3" cellspacing="2" bgcolor="#525D76" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif"><b><big><big><a name="New and Noteworthy">New and Noteworthy</a></big></big></b></font></td></tr></table><br/>
<br/><br/><table width="100%" cellpadding="3" cellspacing="2" bgcolor="#525D76" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif"><b><big><big><a name="IMPORTANT CHANGES">IMPORTANT CHANGES</a></big></big></b></font></td></tr></table><br/>
<p>
JMeter now requires Java 8. Ensure you use the most up to date version.
</p><p>
JMeter logging has been migrated to SLF4J and Log4j 2.
This affects configuration and 3<sup>rd</sup> party plugins, see below <b>&quot;Logging changes&quot;</b>.
</p><br/><table width="80%" cellpadding="1" cellspacing="2" bgcolor="#828DA6" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif">Core improvements</font></td></tr></table>
<ul>
<li>JMeter now provides a new BackendListener implementation that interfaces InfluxDB.
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='813' height='407' src="./../docs/images/screenshots/changes/3.2/backend_influxdb.png"/><br>
<font size="-1"></font></td></tr></table>

This implementation sends data using Asynchronous HTTP calls to InfluxDB through its <a href="https://docs.influxdata.com/influxdb/v1.2/guides/writing_data/">HTTP API</a>
and give you the following graphs with annotations:
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='934' height='399' src="./../docs/images/screenshots/backend_listener_influxdb_graph.png"/><br>
<font size="-1"></font></td></tr></table>

</li>
<li>DNS Cache Manager now has a table to allow static host resolution.
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='803' height='561' src="./../docs/images/screenshots/changes/3.2/dns_cache_manager_static_hosts.png"/><br>
<font size="-1"></font></td></tr></table>

</li>
<li>JMS Publisher and Subscriber now allow reconnection on error with pause.
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='852' height='738' src="./../docs/images/screenshots/changes/3.2/jms_publisher_reconnect.png"/><br>
<font size="-1"></font></td></tr></table>

<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='716' height='538' src="./../docs/images/screenshots/changes/3.2/jms_subscriber_reconnect_pause.png"/><br>
<font size="-1"></font></td></tr></table>

</li>
<li>Variables in JMS Publisher are now supported for all types of messages. Add the encoding type of the file to parse its content</li>
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='750' height='743' src="./../docs/images/screenshots/changes/3.2/jms_subscriber_content_encoding.png"/><br>
<font size="-1"></font></td></tr></table>

<li>XPath Extractor now allows extraction randomly, by index or for all matches.
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='823' height='348' src="./../docs/images/screenshots/changes/3.2/xpath_extractor_matchno.png"/><br>
<font size="-1"></font></td></tr></table>

</li>
<li>Response Assertion now allows to work on Request Header, provides a &quot;OR&quot; combination and has a better cell renderer
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='1053' height='329' src="./../docs/images/screenshots/changes/3.2/response_assertion.png"/><br>
<font size="-1"></font></td></tr></table>

</li>
<li>JMeter now uses Oracle Nashorn Javascript engine instead of Rhino. This provides a faster execution of Javascript.</li>
<li>HTTP HC4 Implementation now provides preemptive Basic Auth enabled by default</li>
<li>Embedded resources download in CSS has been improved to avoid useless repetitive parsing to find the resources</li>
<li>An important work on code quality and code coverage with tests has been done since Sonar has been setup on the project.
You can see Sonar report <a href="https://builds.apache.org/analysis/overview?id=12927">here</a>.
</li>
</ul><br/><table width="80%" cellpadding="1" cellspacing="2" bgcolor="#828DA6" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif">UX improvements</font></td></tr></table>
<ul>
<li>When running a Test, GUI is now more responsive and less impacting on memory usage thanks to a limitation on the number of Sample Results 
listeners hold and a rework of the way GUI is updated</li>
<li>HTTP Request GUI has been simplified and provides more place for parameters and body.
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='848' height='475' src="./../docs/images/screenshots/changes/3.2/http_request.png"/><br>
<font size="-1"></font></td></tr></table>

</li>
<li>HTTP(S) Test Script Recorder has been simplified and clarified.
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='1023' height='494' src="./../docs/images/screenshots/changes/3.2/http_recorder_1.png"/><br>
<font size="-1"></font></td></tr></table>

<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='1021' height='711' src="./../docs/images/screenshots/changes/3.2/http_recorder_2.png"/><br>
<font size="-1"></font></td></tr></table>

</li>
<li>A <tt class="code">replace</tt> feature has been added to Search feature to allow replacement in some elements.
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='459' height='196' src="./../docs/images/screenshots/changes/3.2/search_replace.png"/><br>
<font size="-1"></font></td></tr></table>

</li>
<li>View Results Tree now provides a more up to date Browser renderer which requires JavaFX.</li>
<li>You can now add through a contextual menu think times, this will add think times between samplers and Transaction Controllers
 of selected node.
 <table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='326' height='430' src="./../docs/images/screenshots/changes/3.2/menu_add_think_times.png"/><br>
<font size="-1"></font></td></tr></table>

 </li>
<li>You can now apply a naming policy to children of a Transaction Controller. A default policy exists but you can implement your own 
    through <tt class="code"><a href="./api/org/apache/jmeter/gui/action/TreeNodeNamingPolicy.html">org.apache.jmeter.gui.action.TreeNodeNamingPolicy</a></tt>
    and configuring property <tt class="code">naming_policy.impl</tt>
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='327' height='518' src="./../docs/images/screenshots/changes/3.2/menu_apply_naming_policy.png"/><br>
<font size="-1"></font></td></tr></table>
    
</li>
<li>Sorting per column has been added to View Results in Table, Summary Report, Aggregate Report and Aggregate Graph elements.
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='1065' height='369' src="./../docs/images/screenshots/changes/3.2/sorting.png"/><br>
<font size="-1"></font></td></tr></table>

</li>
</ul><br/><table width="80%" cellpadding="1" cellspacing="2" bgcolor="#828DA6" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif">Report/Dashboard improvements</font></td></tr></table>
<ul>
<li>
Statistics have been reorganized to clarify report:
<table border="0" cellspacing="0" cellpadding="0"><tr><td><img width='1548' height='366' src="./../docs/images/screenshots/dashboard/report_statistics.png"/><br>
<font size="-1"></font></td></tr></table>

</li>
<li>
It is now possible to customize APDEX thresholds per transaction based on regular expression or sample name.
The below example will apply different thresholds for samples sample(\\d+), sampleA and scenarioB 
than default ones (500 and 1500 for satisfied and tolerated thresholds) declared:
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>
jmeter.reportgenerator.apdex_satisfied_threshold=500
jmeter.reportgenerator.apdex_tolerated_threshold=1500
jmeter.reportgenerator.apdex_per_transaction=sample(\\d+):1000|2000;\
    sampleA:3000|4000;\
    scenarioB:5000|6000
</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
</table>
</div>

</li>
</ul><br/><table width="80%" cellpadding="1" cellspacing="2" bgcolor="#828DA6" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif">Documentation improvements</font></td></tr></table>
<ul>
<li>PDF Documentations have been migrated and updated to HTML user manual</li>
</ul><br/><br/><table width="100%" cellpadding="3" cellspacing="2" bgcolor="#525D76" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif"><b><big><big><a name="Incompatible changes">Incompatible changes</a></big></big></b></font></td></tr></table><br/>
<ul>
    <li>JMeter requires now at least a Java 8 version to run.</li>
    <li>JMeter logging has been migrated to SLF4J and Log4j 2, this involves changes in the way configuration is done. JMeter now relies on standard
    <a href="https://logging.apache.org/log4j/2.x/manual/configuration.html">Log4j 2 configuration</a> in file <tt class="code">log4j2.xml</tt>
    See <tt class="code">Logging changes</tt> section below for further details.
    </li>
    <li>The following jars have been removed after migration from LogKit to SLF4J (see <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60589">Bug 60589</a>
):
        <ul>
            <li>ApacheJMeter_slf4j_logkit.jar</li>
            <li>avalon-framework-4.1.4.jar</li>
            <li>avalon-framework-4.1.4.jar</li>
            <li>commons-logging-1.2.jar</li>
            <li>excalibur-logger-1.1.jar</li>
            <li>logkit-2.0.jar</li>
        </ul>
    </li>
    <li>The <tt class="code">commons-httpclient-3.1.jar</tt> has been removed after drop of HC3.1 support(see <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60727">Bug 60727</a>
)</li>
    <li>JMeter now sets through <tt class="code">-Djava.security.egd=file:/dev/urandom</tt> the algorithm for secure random</li>
    <li>Process Sampler now returns error code 500 when an error occurs. It previously returned an empty value.</li>
    <li>In <tt class="code">org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl</tt> two protected static fields (<tt class="code">localhost</tt> and <tt class="code">nonProxyHostSuffixSize</tt>) have been renamed to (<tt class="code">LOCALHOST</tt> and <tt class="code">NON_PROXY_HOST_SUFFIX_SIZE</tt>) 
        to follow static fields naming convention</li>
    <li>JMeter now uses by default Oracle Nashorn engine instead of Mozilla Rhino for better performances. This should not have an impact unless
    you use some advanced features. You can revert back to Rhino by settings property <tt class="code">javascript.use_rhino=true</tt>. 
    You can read this <a href="https://wiki.openjdk.java.net/display/Nashorn/Rhino+Migration+Guide">migration guide</a> for more details on Nashorn. See <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60672">Bug 60672</a>
</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60729">Bug 60729</a>
 - The Random Variable Config Element now allows minimum==maximum. Previous versions logged an error when minimum==maximum and did not set the configured variable.</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60730">Bug 60730</a>
 - The JSON PostProcessor now sets the <tt class="code">_ALL</tt> variable (assuming <tt class="code">Compute concatenation var</tt> was checked)
    even if the JSON path matches only once. Previous versions did not set the <tt class="code">_ALL</tt> variable in this case.</li>
</ul><h3>Removed elements or functions</h3><ul>
    <li>SOAP/XML-RPC Request has been removed as part of <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60727">Bug 60727</a>
. Use HTTP Request element as a replacement. 
    See <a href="./build-ws-test-plan.html">Building a WebService Test Plan</a></li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60423">Bug 60423</a>
 - Drop Monitor Results listener </li>
    <li>Drop deprecated class <tt class="code">org.apache.jmeter.protocol.system.NativeCommand</tt></li>
    <li>Drop deprecated class <tt class="code">org.apache.jmeter.protocol.http.config.gui.MultipartUrlConfigGui</tt></li>
    <li>Drop deprecated class <tt class="code">org.apache.jmeter.testelement.TestListener</tt></li>
    <li>Drop deprecated class <tt class="code">org.apache.jmeter.reporters.FileReporter</tt></li>
    <li>Drop deprecated class <tt class="code">org.apache.jmeter.protocol.http.modifier.UserSequence</tt></li>
    <li>Drop deprecated class <tt class="code">org.apache.jmeter.protocol.http.parser.HTMLParseError</tt></li>
    <li>Drop unused methods <tt class="code">org.apache.jmeter.protocol.http.control.HeaderManager#getSOAPHeader</tt>
    and <tt class="code">org.apache.jmeter.protocol.http.control.HeaderManager#setSOAPHeader(Object)</tt>
    </li>
    <li><tt class="code">org.apache.jmeter.protocol.http.util.Base64Encode</tt> has been deprecated, you can use <tt class="code">java.util.Base64</tt> as a replacement</li>
</ul><h3>Logging changes</h3><p>
    JMeter logging has been migrated to SLF4J and Log4j 2.
    This affects logging configuration and 3<sup>rd</sup> party plugins (if they use JMeter logging).
    The following sections describe what changes need to be made.
</p><h4>Setting the logging level and log file</h4><p>
    The default logging level can be changed on the command-line using the <tt class="code">-L</tt> parameter.
    Likewise the <tt class="code">-l</tt> parameter can be used to change the name of the log file.
    However the <tt class="code">log_level</tt> properties no longer work.
</p><p>
    The default logging levels and file name are defined in the <tt class="code">log4j2.xml</tt> configuration file
    in the launch directory (usually <tt class="code">JMETER_HOME/bin</tt>)
</p><p>
    <p>
<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
<tr><td>If you need to change the level programmatically from Groovy code or Beanshell, you need to do the following:
    <div align="left">
<table cellspacing="4" cellpadding="0" border="0">
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>
    import org.apache.logging.log4j.core.config.Configurator;

    final String loggerName = te.getClass().getName(); // te being a JMeter class
    Configurator.setAllLevels(loggerName, Level.DEBUG); 
    </pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
</table>
</div>

    </td></tr>
</table>
</p>

</p><h4>Changes to 3<sup>rd</sup> party plugin logging</h4><p>
    <p>
<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
<tr><td>3rd party plugins should migrate their logging code from logkit to slf4j. This is fairly easy and can be done by replacing:
    <div align="left">
<table cellspacing="4" cellpadding="0" border="0">
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>
        import org.apache.jorphan.logging.LoggingManager;
        import org.apache.log.Logger;

        private static final Logger log = LoggingManager.getLoggerForClass();
    </pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
</table>
</div>

    By:
    <div align="left">
<table cellspacing="4" cellpadding="0" border="0">
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>
        import org.slf4j.Logger;
        import org.slf4j.LoggerFactory;

        private static final Logger log = LoggerFactory.getLogger(YourClassName.class);
    </pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
</table>
</div>

    </td></tr>
</table>
</p>

</p><br/><br/><table width="100%" cellpadding="3" cellspacing="2" bgcolor="#525D76" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif"><b><big><big><a name="Improvements">Improvements</a></big></big></b></font></td></tr></table><br/>
<h3>HTTP Samplers and Test Script Recorder</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59934">Bug 59934</a>
 - Fix race-conditions in CssParser. Based on a patch by Jerome Loisel (loisel.jerome at gmail.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60543">Bug 60543</a>
 - HTTP Request / Http Request Defaults UX: Move to advanced panel Timeouts, Implementation, Proxy. Implemented by Philippe Mouawad (p.mouawad at ubik-ingenierie.com) and contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60548">Bug 60548</a>
 - HTTP Request : Allow Upper Panel to be collapsed</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57242">Bug 57242</a>
 - HTTP Authorization is not pre-emptively set with HttpClient4</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60727">Bug 60727</a>
 - Drop commons-httpclient-3.1 and related elements. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60790">Bug 60790</a>
 - HTTP(S) Test Script Recorder : Improve information on certificate expiration and have better UX for Start/Stop</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60888">Bug 60888</a>
 - HttpRequest : Add option to allow retrial of all requests including NON Idempotent HTTP methods</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60896">Bug 60896</a>
 - HTTP(S) Test Script Recorder : Improve UX by reducing number of properties on screen</li>
</ul><h3>Other samplers</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60740">Bug 60740</a>
 - Support variable for all JMS messages (bytes, object, …) and sources (file, folder), based on <a href="https://github.com/apache/jmeter/pull/241">Pull request #241</a>. Contributed by Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60585">Bug 60585</a>
 - JMS Publisher and JMS Subscriber : Allow reconnection on error and pause between errors. Based on <a href="https://github.com/apache/jmeter/pull/240">Pull request #240</a> from by Logan Mauzaize (logan.mauzaize at gmail.com) and Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
    <li><a href="https://github.com/apache/jmeter/pull/259">Pull request #259</a> - Refactored and reformatted SmtpSampler. Contributed by Graham Russell (graham at ham1.co.uk)</li>
</ul><h3>Controllers</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60672">Bug 60672</a>
 - JavaScript function / IfController : use Nashorn engine by default</li>
</ul><h3>Listeners</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60144">Bug 60144</a>
 - View Results Tree : Add a more up to date Browser Renderer to replace old Render</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60542">Bug 60542</a>
 - View Results Tree : Allow Upper Panel to be collapsed. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=52962">Bug 52962</a>
 - Allow sorting by columns for View Results in Table, Summary Report, Aggregate Report and Aggregate Graph. Based on a <a href="https://github.com/apache/jmeter/pull/245">Pull request #245</a> by Logan Mauzaize (logan.mauzaize at gmail.com) and Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60590">Bug 60590</a>
 - BackendListener : Add Influxdb BackendListenerClient implementation to JMeter. Partly based on <a href="https://github.com/apache/jmeter/pull/246">Pull request #246</a> by Logan Mauzaize (logan.mauzaize at gmail.com) and Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60591">Bug 60591</a>
 - BackendListener : Add a time boxed sampling. Based on a <a href="https://github.com/apache/jmeter/pull/237">Pull request #237</a> by Logan Mauzaize (logan.mauzaize at gmail.com) and Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60678">Bug 60678</a>
 - View Results Tree : Text renderer, search should not popup &quot;Text Not Found&quot;</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60691">Bug 60691</a>
 - View Results Tree : In Renderers (XPath, JSON Path Tester, RegExp Tester and CSS/JQuery Tester) lower panel is sometimes not visible as upper panel is too big and cannot be resized</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60687">Bug 60687</a>
 - Make GUI more responsive when it gets a lot of events.</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60791">Bug 60791</a>
 - View Results Tree: Trigger search on Enter key in Search Feature and display red background if no match</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60822">Bug 60822</a>
 - ResultCollector does not ensure unique file name entries in files HashMap</li>
</ul><h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60154">Bug 60154</a>
 - User Parameters GUI: allow rows to be moved up &amp; down in the list. Contributed by Murdecai777 (https://github.com/Murdecai777).</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60507">Bug 60507</a>
 - Added '<tt class="code">Or</tt>' Function into ResponseAssertion. Based on a contribution from 忻隆 (298015902 at qq.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58943">Bug 58943</a>
 - Create a Better Think Time experience. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60602">Bug 60602</a>
 - XPath Extractor : Add Match No. to allow extraction randomly, by index or all matches</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60710">Bug 60710</a>
 - XPath Extractor : When content on which assertion applies is not XML, in View Results Tree the extractor is marked in Red and named SAXParseException. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60712">Bug 60712</a>
 - Response Assertion : Improve Renderer of Patterns</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59174">Bug 59174</a>
 - Add a table with static hosts to the DNS Cache Manager. This enables better virtual hosts testing with HttpClient4.</li>
</ul><h3>Functions</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60883">Bug 60883</a>
 - <a href="https://github.com/apache/jmeter/pull/288">Pull request #288</a> - Add <tt class="code">${__escapeXml()}</tt> function. Contributed by Michael Osipov (michaelo at apache.org)</li>
</ul><h3>I18N</h3><ul>
    <li>Improve translation &quot;<tt class="code">save_as</tt>&quot; in French. Based on a <a href="https://github.com/apache/jmeter/pull/252">Pull request #252</a> by Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60785">Bug 60785</a>
 - Improvement of Japanese translation. Patch by Kimono (kimono.outfit.am at gmail.com).</li>
</ul><h3>Report / Dashboard</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60637">Bug 60637</a>
 - Improve Statistics table design <table border="0" cellspacing="0" cellpadding="0"><tr><td><img  src="./../docs/images/screenshots/dashboard/report_statistics.png"/><br>
<font size="-1"></font></td></tr></table>
</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60112">Bug 60112</a>
 - Report / Dashboard : Add ability to customize APDEX thresholds per Transaction name. Contributed by Stephane Leplus (s.leplus at ubik-ingenierie.com)</li>
</ul><h3>General</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58164">Bug 58164</a>
 - Check if file already exists on ResultCollector listener before starting the loadtest</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=54525">Bug 54525</a>
 - Search Feature : Enhance it with ability to replace</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60530">Bug 60530</a>
 - Add API to create JMeter threads while test is running. Based on a contribution by Logan Mauzaize (logan.mauzaize at gmail.com) and Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60514">Bug 60514</a>
 - Ability to apply a naming convention on Children of a Transaction Controller. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60711">Bug 60711</a>
 - Improve Delete button behaviour for Assertions / Header Manager / User Parameters GUIs / Exclude, Include in HTTP(S) Test Script Recorder</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60593">Bug 60593</a>
 - Switch to G1 GC algorithm</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60595">Bug 60595</a>
 - Add a SplashScreen at the start of JMeter GUI. Contributed by Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=55258">Bug 55258</a>
 - Drop &quot;Close&quot; icon from toolbar and add &quot;New&quot; to menu. Partly based on contribution from Sanduni Kanishka (https://github.com/SanduniKanishka)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59995">Bug 59995</a>
 - Allow user to change font size with two new menu items and use <tt class="code">jmeter.hidpi.scale.factor</tt> for scaling fonts. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60654">Bug 60654</a>
 - Validation Feature : Be able to ignore BackendListener. Contributed by Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60646">Bug 60646</a>
 - Workbench : Save it by default</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60684">Bug 60684</a>
 - Thread Group: Validate ended prematurely by Scheduler with 0 or very short duration. Contributed by Andrew Burton (andrewburtonatwh at gmail.com).</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60589">Bug 60589</a>
 - Migrate LogKit to SLF4J - Drop Avalon, LogKit and Excalibur with backward compatibility for 3<sup>rd</sup> party modules. Contributed by Woonsan Ko (woonsan at apache.org)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60565">Bug 60565</a>
 - Migrate LogKit to SLF4J - Optimize logging statements. e.g, message format args, throwable args, unnecessary if-enabled-logging in simple ones, etc. Contributed by Woonsan Ko (woonsan at apache.org)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60564">Bug 60564</a>
 - Migrate LogKit to SLF4J - Replace LogKit loggers with SLF4J ones and keep the current LogKit binding solution for backward compatibility with plugins. Contributed by Woonsan Ko (woonsan at apache.org)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60664">Bug 60664</a>
 - Add a UI menu to set log level. Contributed by Woonsan Ko (woonsan at apache.org)</li>
    <li><a href="https://github.com/apache/jmeter/pull/276">Pull request #276</a> - Added some translations for polish locale. Contributed by Bartosz Siewniak (barteksiewniak at gmail.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60792">Bug 60792</a>
 - Create a new Help menu item to create a thread dump</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60813">Bug 60813</a>
 - JSR223 Test element : Take into account JMeterStopTestNowException, JMeterStopTestException and JMeterStopThreadException</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60814">Bug 60814</a>
 - Menu : Add <tt class="code">Open Recent</tt> menu item to make recent files loading more obvious</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60815">Bug 60815</a>
 - Drop &quot;Reset GUI&quot; from menu</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60886">Bug 60886</a>
 - Build improvements to better enable builds in environments that are behind a proxy. Partly contributed by Michael Osipov (michaelo at apache.org)</li>
</ul><br/><br/><table width="100%" cellpadding="3" cellspacing="2" bgcolor="#525D76" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif"><b><big><big><a name="Non-functional changes">Non-functional changes</a></big></big></b></font></td></tr></table><br/>
<ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60415">Bug 60415</a>
 - Drop support for Java 7.</li>
    <li>Updated to dnsjava-2.1.8.jar (from 2.1.7)</li>
    <li>Updated to groovy 2.4.10 (from 2.4.7)</li>
    <li>Updated to httpcore 4.4.6 (from 4.4.5)</li>
    <li>Updated to httpclient 4.5.3 (from 4.5.2)</li>
    <li>Updated to jodd 3.8.1 (from 3.7.1.jar)</li>
    <li>Updated to jsoup-1.10.2 (from 1.10.1)</li>
    <li>Updated to ph-css 5.0.3 (from 4.1.6)</li>
    <li>Updated to ph-commons 8.6.0 (from 6.2.4)</li>
    <li>Updated to slf4j-api 1.7.25 (from 1.7.21)</li>
    <li>Updated to asm 5.2 (from 5.1)</li>
    <li>Updated to rsyntaxtextarea-2.6.1 (from 2.6.0)</li>
    <li>Updated to commons-net-3.6 (from 3.5)</li>
    <li>Updated to json-smart-2.3 (from 2.2.1)</li>
    <li>Updated to accessors-smart-1.2 (from 1.1)</li>
    <li>Converted the old pdf tutorials to xml.</li>
    <li><a href="https://github.com/apache/jmeter/pull/255">Pull request #255</a> - Utilised Java 8 (and 7) features to tidy up code. Contributed by Graham Russell (graham at ham1.co.uk)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59435">Bug 59435</a>
 - JMeterTestCase no longer supports JUnit3</li>
</ul><br/><br/><table width="100%" cellpadding="3" cellspacing="2" bgcolor="#525D76" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif"><b><big><big><a name="Bug fixes">Bug fixes</a></big></big></b></font></td></tr></table><br/>
<h3>HTTP Samplers and Test Script Recorder</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60531">Bug 60531</a>
 - HTTP Cookie Manager : changing Implementation does not update Cookie Policy</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60575">Bug 60575</a>
 - HTTP GET Requests could have a content-type header without a body.</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60682">Bug 60682</a>
 - HTTP Request : Get method may fail on redirect due to Content-Length header being set</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60643">Bug 60643</a>
 - HTTP(S) Test Script Recorder doesn't correctly handle restart or start after stop. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60652">Bug 60652</a>
 - HTTP PUT Requests might leak file descriptors.</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60689">Bug 60689</a>
 - <tt class="code">httpclient4.validate_after_inactivity</tt> has no impact leading to usage of potentially stale/closed connections</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60690">Bug 60690</a>
 - Default values for &quot;httpclient4.validate_after_inactivity&quot; and &quot;httpclient4.time_to_live&quot; which are equal to each other makes validation useless</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60758">Bug 60758</a>
 - HTTP(s) Test Script Recorder : Number request may generate duplicate numbers. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=56939">Bug 56939</a>
 - Parameters are not passed with OPTIONS HTTP Request</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60778">Bug 60778</a>
 - Http Java Impl does not show Authorization header in SampleResult even if it is sent</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60837">Bug 60837</a>
 - GET with body, PUT are not retried even if <tt class="code">httpclient4.retrycount</tt> is higher than 0</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60842">Bug 60842</a>
 - Trim extracted URLs when loading embedded resources using the Lagarto based HTML Parser.</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60928">Bug 60928</a>
 - Http Request : Connection Leak when keepalive is used with Embedded Resources</li>
</ul><h3>Other Samplers</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=603982">Bug 603982</a>
 - Guard Exception handler of the <tt class="code">JDBCSampler</tt> against null messages</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=55652">Bug 55652</a>
 - JavaSampler silently resets classname if class can not be found</li>
</ul><h3>Controllers</h3><ul>
</ul><h3>Listeners</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60648">Bug 60648</a>
 - GraphiteBackendListener can lose some metrics at end of test if test is very short</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60650">Bug 60650</a>
 - AbstractBackendListenerClient does not reset UserMetric between runs</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60759">Bug 60759</a>
 - View Results Tree : Search feature does not search in URL. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60859">Bug 60859</a>
 - Save Responses to a file : 2 elements with different configuration will overlap</li>
</ul><h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60438">Bug 60438</a>
 - <a href="https://github.com/apache/jmeter/pull/235">Pull request #235</a> - Clear old variables before extracting new ones in JSON Extractor.
    Based on a patch by Qi Chen (qi.chensh at ele.me)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60607">Bug 60607</a>
 - DNS Cache Manager configuration is ignored</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60729">Bug 60729</a>
 - The Random Variable Config Element should allow minimum==maximum</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60730">Bug 60730</a>
 - The JSON PostProcessor should set the <tt class="code">_ALL</tt> variable even if the JSON path matches only once.</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60747">Bug 60747</a>
 - Response Assertion : Add Request Headers to <tt class="code">Field to Test</tt></li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60763">Bug 60763</a>
 - XMLAssertion should not leak errors to console</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60797">Bug 60797</a>
 - TestAction in pause mode can last beyond configured duration of test</li>
</ul><h3>Functions</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60819">Bug 60819</a>
 - Function __fileToString does not honor the documentation contract when file is not found</li>
</ul><h3>I18N</h3><ul>
</ul><h3>Report / Dashboard</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60726">Bug 60726</a>
 - Report / Dashboard : Top 5 errors by samplers must not take into account the series filtering</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60919">Bug 60919</a>
 - Report / Dashboard : Latency Vs Request and Response Time Vs Request are wrong if granularity is different from 1000 (1 second)</li>
</ul><h3>General</h3><ul>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60775">Bug 60775</a>
 - NamePanel ctor calls overrideable method</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60428">Bug 60428</a>
 - JMeter Graphite Backend Listener throws exception when test ends
    and <tt class="code">useRegexpForSamplersList</tt> is set to <tt class="code">true</tt>.
    Based on patch by Liu XP (liu_xp2003 at sina.com)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60442">Bug 60442</a>
 - Fix a typo in <tt class="code">build.xml</tt> (gavin at 16degrees.com.au)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60449">Bug 60449</a>
 - JMeter Tree : Annoying behaviour when node name is empty</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60494">Bug 60494</a>
 - Add sonar analysis task to build</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60501">Bug 60501</a>
 - Search Feature : Performance issue when regexp is checked</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60444">Bug 60444</a>
 - Intermittent failure of <tt class="code">TestHTTPMirrorThread#testSleep()</tt>. Contributed by Thomas Schapitz (ts-nospam12 at online.de)</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60621">Bug 60621</a>
 - The &quot;<tt class="code">report-template</tt>&quot; folder is missing from <tt class="code">ApacheJMeter_config-3.1.jar</tt> in maven central</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60744">Bug 60744</a>
 - GUI elements are not cleaned up when reused during load of Test Plan which can lead them to be partially initialized with a previous state for a new Test Element</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60812">Bug 60812</a>
 - JMeterThread does not honor contract of JMeterStopTestNowException</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60857">Bug 60857</a>
 - SaveService omits XML header if _file_encoding is not defined in saveservice.properties</li>
    <li><a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60830">Bug 60830</a>
 - Timestamps in CSV file could be corrupted due to sharing a SimpleDateFormatter across threads</li>
</ul><br/><br/><table width="100%" cellpadding="3" cellspacing="2" bgcolor="#525D76" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif"><b><big><big><a name="Thanks">Thanks</a></big></big></b></font></td></tr></table><br/>
<p>We thank all contributors mentioned in bug and improvement sections above:
</p><ul>
<li>Jerome Loisel (loisel.jerome at gmail.com)</li>
<li>Liu XP (liu_xp2003 at sina.com)</li>
<li>Qi Chen (qi.chensh at ele.me)</li>
<li>(gavin at 16degrees.com.au)</li>
<li>Thomas Schapitz (ts-nospam12 at online.de)</li>
<li>Murdecai777 (https://github.com/Murdecai777)</li>
<li>Logan Mauzaize (logan.mauzaize at gmail.com)</li>
<li>Maxime Chassagneux (maxime.chassagneux at gmail.com)</li>
<li>忻隆 (298015902 at qq.com)</li>
<li><a href="http://ubikloadpack.com">Ubik Load Pack</a></li>
<li>Graham Russell (graham at ham1.co.uk)</li>
<li>Sanduni Kanishka (https://github.com/SanduniKanishka)</li>
<li>Andrew Burton (andrewburtonatwh at gmail.com)</li>
<li>Woonsan Ko (woonsan at apache.org)</li>
<li>Bartosz Siewniak (barteksiewniak at gmail.com)</li>
<li>Kimono (kimono.outfit.am at gmail.com)</li>
<li>Michael Osipov (michaelo at apache.org)</li>
<li>Stephane Leplus (s.leplus at ubik-ingenierie.com)</li>
</ul><p>We also thank bug reporters who helped us improve JMeter. <br>
For this release we want to give special thanks to the following reporters for the clear reports and tests made after our fixes:</p><ul>
<li>Tuukka Mustonen (tuukka.mustonen at gmail.com) who gave us a lot of useful feedback which helped resolve <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60689">Bug 60689</a>
 and <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60690">Bug 60690</a>
</li>
<li>Amar Darisa (amar.darisa at gmail.com) who helped us with his feedback on <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60682">Bug 60682</a>
</li>
</ul><p>
Apologies if we have omitted anyone else.
 </p><br/><br/><table width="100%" cellpadding="3" cellspacing="2" bgcolor="#525D76" border="0">
<tr><td><font color="white" face="Helvetica, Arial, sans-serif"><b><big><big><a name="Known problems and workarounds">Known problems and workarounds</a></big></big></b></font></td></tr></table><br/>
<ul>
<li>View Results Tree may freeze rendering large response particularly if this response has no spaces, see <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60816">Bug 60816</a>
.
This is due to an identified Java Bug <a href="https://bugs.openjdk.java.net/browse/JDK-8172336">UI stuck when calling JEditorPane.setText() or JTextArea.setText() with long text without space</a>.
</li>
</ul><ul>
<li>The Once Only controller behaves correctly under a Thread Group or Loop Controller,
but otherwise its behaviour is not consistent (or clearly specified).</li>

<li>
The numbers that appear to the left of the green box are the number of active threads / total number of threads,
the total number of threads only applies to a locally run test, otherwise it will show <tt class="code">0</tt> (see <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=55510">Bug 55510</a>
).
</li>

<li>
Note that under some windows systems you may have this WARNING:
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>
java.util.prefs.WindowsPreferences
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0
x80000002. Windows RegCreateKeyEx(…) returned error code 5.
</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
</table>
</div>

The fix is to run JMeter as Administrator, it will create the registry key for you, then you can restart JMeter as a normal user and you won't have the warning anymore.
</li>

<li>
You may encounter the following error:
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>java.security.cert.CertificateException: Certificates does not conform to algorithm constraints</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
</table>
</div>

 if you run a HTTPS request on a web site with a SSL certificate (itself or one of SSL certificates in its chain of trust) with a signature
 algorithm using MD2 (like md2WithRSAEncryption) or with a SSL certificate with a size lower than 1024 bits.
This error is related to increased security in Java 8+.
<br>
To allow you to perform your HTTPS request, you can downgrade the security of your Java installation by editing
the Java <tt class="code">jdk.certpath.disabledAlgorithms</tt> property. Remove the MD2 value or the constraint on size, depending on your case.
<br>
This property is in this file:
<div align="left">
<table cellspacing="4" cellpadding="0" border="0">
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#ffffff"><pre>JAVA_HOME/jre/lib/security/java.security</pre></td>
<td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
<tr>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
<td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td>
</tr>
</table>
</div>

See  <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=56357">Bug 56357</a>
 for details.
</li>

<li>
Under Mac OSX Aggregate Graph will show wrong values due to mirroring effect on numbers.
This is due to a known Java bug, see Bug <a href="https://bugs.openjdk.java.net/browse/JDK-8065373">JDK-8065373</a>
The fix is to use JDK8_u45 or later.
</li>

<li>
View Results Tree may fail to display some HTML code under HTML renderer, see <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=54586">Bug 54586</a>
.
This is due to a known Java bug which fails to parse &quot;<tt class="code">px</tt>&quot; units in row/col attributes.
See Bug <a href="https://bugs.openjdk.java.net/browse/JDK-8031109">JDK-8031109</a>
The fix is to use JDK9 b65 or later (but be aware that Java 9 is not certified yet for JMeter).
</li>

<li>
JTable selection with keyboard (<span class="keycombo"><span class="keysym">SHIFT</span>&nbsp;+&nbsp;<span class="keysym">up/down</span></span>) is totally unusable with JAVA 7 on Mac OSX.
This is due to a known Java bug <a href="https://bugs.openjdk.java.net/browse/JDK-8025126">JDK-8025126</a>
The fix is to use JDK 8 b132 or later.
</li>
</ul></blockquote>
</p>
</td></tr>
<tr><td><br></td></tr>
</table>
<br>
</td>
</tr>
<tr><td>
<hr noshade size="1"/>
</td></tr>
<tr>
<td>
<table width=100%>
<tr>
<td align="center">
<font color="#525D76" size="-1"><em>
Copyright &copy; 1999-2017, Apache Software Foundation
</em></font>
</td>
</tr>
<tr><td colspan="2">
<div align="center"><font color="#525D76" size="-1">
Apache, Apache JMeter, JMeter, the Apache feather, and the Apache JMeter logo are
trademarks of the Apache Software Foundation.
</font>
</div>
</td></tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<!-- end the processing -->