jmeter/xdocs/changes.xml

413 lines
23 KiB
XML
Raw Normal View History

<?xml version="1.0"?>
<!--
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.
-->
<document>
<properties>
<author email="dev AT jmeter.apache.org">JMeter developers</author>
<title>Changes</title>
</properties>
<body>
<section name="Changes">
<style type="text/css"><!--
h2 { color: #960000; }
h3 { color: #960000; }
--></style>
<note>
<b>This page details the changes made in the current version only.</b>
<br></br>
Earlier changes are detailed in the <a href="changes_history.html">History of Previous Changes</a>.
</note>
<!-- =================== 2.10 =================== -->
<h1>Version 2.10</h1>
<h2>New and Noteworthy</h2>
<h3><u>Core Improvements:</u></h3>
<h4>* A Huge performance improvement has been made on High Throughput Tests (no pause), see <bugzilla>54777</bugzilla></h4>
<h4>* New CSS/JQuery Tester in View Tree Results that makes CSS/JQuery Extractor a first class
citizen in JMeter, you can now test your expressions very easily</h4>
<p>
<figure width="1144" height="638" image="changes/2.10/01_css_jquery_tester.png"></figure>
</p>
<h4>* You can now load test MongoDB through new MongoDB Source Config</h4>
<p>
<figure width="912" height="486" image="changes/2.10/02_mongodb_source_config.png"></figure>
</p>
<p>
<figure width="850" height="687" image="changes/2.10/14_mongodb_jsr223.png"></figure>
</p>
<h4>* Kerberos authentication has been added to Auth Manager</h4>
<p>
<figure width="1005" height="364" image="changes/2.10/15_kerberos.png"></figure>
</p>
<h4>* device can now be used in addition to source IP address</h4>
<h4>* You can now do functionnal testing of MongoDB scripts through new MongoDB Script</h4>
<p>
<figure width="906" height="313" image="changes/2.10/03_mongodb_script_alpha.png"></figure>
</p>
<h4>* Query timeout has been added to JDBC Request</h4>
<p>
<figure width="540" height="600" image="changes/2.10/04_jdbc_request_timeout.png"></figure>
</p>
<h4>* New functions (__urlencode and __urldecode) are now available to encode/decode URL encoded chars</h4>
<p>
<figure width="512" height="240" image="changes/2.10/05_urlencode_function.png"></figure>
</p>
<h4>* Continuous Integration is now eased by addition of a new flag that forces NON-GUI JVM to exit after test end</h4>
<p>See jmeter property:</p>
<code>jmeterengine.force.system.exit</code>
<h4>* HttpSampler now allows DELETE Http Method to have a body (works for HC4 and HC31 implementations). This allows for example to test Elastic Search APIs</h4>
<p>
<figure width="573" height="444" image="changes/2.10/06_http_request_delete_method.png"></figure>
</p>
<h4>* ModuleController has been improved to better handle changes to referenced controllers</h4>
<h4>* Best-practices section has been improved, ensure you read it to get the most out of JMeter</h4>
<h3><u>GUI and ergonomy Improvements:</u></h3>
<h4>* New Templates feature that allows you to create test plan from existing template or merge
template into your Test Plan</h4>
<p>
<figure width="428" height="130" image="changes/2.10/07_jmeter_templates_icon.png"></figure>
</p>
<p>
<figure width="781" height="472" image="changes/2.10/08_jmeter_templates_box.png"></figure>
</p>
<h4>* Workbench can now be saved</h4>
<p>
<figure width="489" height="198" image="changes/2.10/09_save_workbench.png"></figure>
</p>
<h4>* Syntax color has been added to scripts elements (BeanShell, BSF, and JSR223), MongoDB and JDBC elements making code much more readable</h4>
<p>BSF Sampler with syntax color
<figure width="915" height="620" image="changes/2.10/10_color_syntax_bsf_sampler.png"></figure>
</p>
<p>JSR223 Pre Processor with syntax color
<figure width="911" height="614" image="changes/2.10/11_color_syntax_jsr223_preprocessor.png"></figure>
</p>
<h4>* Moving elements in Test plan has been improved in many ways</h4>
<h5>Drag and drop of elements in Test Plan tree is now much easier and possible on multiple nodes</h5>
<p>
<figure width="894" height="236" image="changes/2.10/12_drap_n-drop_multiple.png"></figure>
</p>
<p>
Note that due to this <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6560955">bug in Java</a>,
you cannot drop a node after last node. The workaround is to drop it before this last node and then Drag and Drop the last node
before the one you just dropped.
<figure width="762" height="277" image="changes/2.10/XXX.png"></figure>
</p>
<h5>New shortcuts have been added to move elements in the tree. </h5>
<p>(alt + Arrow Up) and (alt + Arrow Down) move the element within the parent node.
(alt + Arrow Left) and (alt + Arrow Right) move the element up and down in the tree depth</p>
<h4>* Response Time Graph Y axis can now be scaled</h4>
<p>
<figure width="947" height="596" image="changes/2.10/13_response_time_graph_y_scale.png"></figure>
</p>
<h4>* JUnit Sampler gives now more details on configuration errors</h4>
<!-- =================== Known bugs =================== -->
<h2>Known bugs</h2>
<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>Listeners don't show iteration counts when a If Controller has a condition which is always false from the first iteration (see <bugzilla>52496</bugzilla>).
A workaround is to add a sampler at the same level as (or superior to) the If Controller.
For example a Test Action sampler with 0 wait time (which doesn't generate a sample),
or a Debug Sampler with all fields set to False (to reduce the sample size).
</li>
<li>Webservice sampler does not consider the HTTP response status to compute the status of a response, thus a response 500 containing a non empty body will be considered as successful, see <bugzilla>54006</bugzilla>.
To workaround this issue, ensure you always read the response and add a Response Assertion checking text inside the response.
</li>
<li>
Changing language can break part of the configuration of the following elements (see <bugzilla>53679</bugzilla>):
<ul>
<li>CSV Data Set Config (sharing mode will be lost)</li>
<li>Constant Throughput Timer (Calculate throughput based on will be lost)</li>
</ul>
</li>
<li>
The numbers that appear to the left of the green box are the number of active threads / total number of threads,
these only apply to a locally run test; they do not include any threads started on remote systems when using client-server mode, (see <bugzilla>54152</bugzilla>).
</li>
<li>
Note that there is a <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6396599 ">bug in Java</a>
on some Linux systems that manifests itself as the following error when running the test cases or JMeter itself:
<pre>
[java] WARNING: Couldn't flush user prefs:
java.util.prefs.BackingStoreException:
java.lang.IllegalArgumentException: Not supported: indent-number
</pre>
This does not affect JMeter operation. This issue is fixed since Java 7b05.
</li>
<li>
With Java 1.6 and Gnome 3 on Linux systems, the JMeter menu may not work correctly (shift between mouse's click and the menu).
This is a known Java bug (see <bugzilla>54477 </bugzilla>).
A workaround is to use a Java 7 runtime (OpenJDK or Oracle JDK).
</li>
</ul>
<!-- =================== Incompatible changes =================== -->
<h2>Incompatible changes</h2>
<p>SMTP Sampler now uses eml file subject if subject field is empty</p>
<p>With this version autoFlush has been turned off on PrintWriter in charge of writing test results.
This results in improved throughput for intensive tests but can result in more test data loss in case
of JMeter crash (very rare). To revert to previous behaviour set jmeter.save.saveservice.autoflush property to true. </p>
<p>
Shortcut for Function Helper Dialog is now CTRL+SHIFT+F1 (CMD + SHIFT + F1 for Mac OS).
The original key sequence (Ctrl+F1) did not work in some locations (it is consumed by the Java Swing ToolTipManager).
It was therefore necessary to change the shortcut.
</p>
<p>
Webservice (SOAP) Request has been removed by default from GUI as Element is deprecated (use HTTP Sampler with Raw Post body), if you need to show it, see property not_in_menu in jmeter.properties
</p>
<p>
Transaction Controller now sets Response Code of Generated Parent Sampler (if Generate Parent Sampler is checked) to response code of first failing child in case of failure of one of the children, in previous versions Response Code was empty.
</p>
<p>
The retry count for the HttpClient 3.1 and HttpClient 4.x samplers has been changed to 0.
Previously the default was 1, which could cause unexpected additional traffic.
</p>
<p>__escapeOroRegexpChars function does not trim anymore the value when escaping it from ORO reserved characters (see <bugzilla>55328</bugzilla>)</p>
<p>commons-lang-2.6.jar has been removed from embedded libraries in jmeter/lib folder. If you use any plugin or third-party code that depends on it, you need to add it in jmeter/lib folder</p>
<!-- =================== Bug fixes =================== -->
<h2>Bug fixes</h2>
<h3>HTTP Samplers and Proxy</h3>
<ul>
<li><bugzilla>54627</bugzilla> - JMeter Proxy GUI: Type of sampler setting takes the whole screen when there are samplers with long names. Contributed by Philippe Mouawad</li>
<li><bugzilla>54629</bugzilla> - HTMLParser does not extract &amp;lt;object&amp;gt; tag urls. Contributed by Philippe Mouawad</li>
<li><bugzilla>55023</bugzilla> - SSL Context reuse feature (51380) adversely affects non-ssl request performance/throughput. based on analysis by Brent Cromarty (brent.cromarty at yahoo.ca)</li>
<li><bugzilla>55092</bugzilla> - Log message "WARN - jmeter.protocol.http.sampler.HTTPSamplerBase: Null URL detected (should not happen)" displayed when embedded resource URL is malformed. Contributed by Philippe Mouawad</li>
<li><bugzilla>55161</bugzilla> - Useless processing in SoapSampler.setPostHeaders. Contributed by Adrian Nistor (nistor1 at illinois.edu)</li>
<li><bugzilla>54482</bugzilla> - HC fails to follow redirects with non-encoded chars. Contributed by Philippe Mouawad</li>
<li><bugzilla>54142</bugzilla> - HTTP Proxy Server throws an exception when path contains "|" character. Contributed by Philippe Mouawad</li>
<li><bugzilla>55388</bugzilla> - HC3 does not allow IP Source field to override httpclient.localaddress.</li>
</ul>
<h3>Other Samplers</h3>
<ul>
<li><bugzilla>54913</bugzilla> - JMSPublisherGui incorrectly restores its state. Contributed by Benoit Wiart (benoit.wiart at gmail.com)</li>
<li><bugzilla>55027</bugzilla> - Test Action regression, duration value is not recorded (nightly build). Contributed by Philippe Mouawad</li>
<li><bugzilla>55163</bugzilla> - BeanShellTestElement fails to quote string when calling testStarted(String)/testEnded(String).</li>
<li><bugzilla>55349</bugzilla> - NativeCommand hangs if no input file is specified and the application requests input.</li>
</ul>
<h3>Controllers</h3>
<ul>
<li><bugzilla>54467</bugzilla> - Loop Controller: compute loop value only once per parent iteration. Contributed by Philippe Mouawad</li>
<li><bugzilla>54985</bugzilla> - Make Transaction Controller set Response Code of Generated Parent Sampler to response code of first failing child in case of failure of one of its children. Contributed by Mikhail Epikhin (epihin-m at yandex.ru)</li>
<li><bugzilla>54950</bugzilla> - ModuleController : Changes to referenced Module are not taken into account if changes occur after first run and referenced node is disabled. Contributed by Philippe Mouawad</li>
<li><bugzilla>55201</bugzilla> - ForEach controller excludes start index and includes end index (clarified documentation). Contributed by Philippe Mouawad</li>
<li><bugzilla>55334</bugzilla> - Adding Include Controller to test plan (made of Include Controllers) without saving TestPlan leads to included code not being taken into account until save. Contributed by Philippe Mouawad</li>
<li><bugzilla>55375</bugzilla> - StackOverflowError with ModuleController in Non-GUI mode if its name is the same as the target node.</li>
</ul>
<h3>Listeners</h3>
<ul>
<li><bugzilla>54589</bugzilla> - View Results Tree have a lot of Garbage characters if html page uses double-byte charset.</li>
<li><bugzilla>54753</bugzilla> - StringIndexOutOfBoundsException at SampleResult.getSampleLabel() if key_on_threadname=false when using Statistical mode.</li>
<li><bugzilla>54685</bugzilla> - ArrayIndexOutOfBoundsException if "sample_variable" is set in client but not server.</li>
<li><bugzilla>55111</bugzilla> - ViewResultsTree: text not refitted if vertical scrollbar is required. Contributed by Milamber</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bugzilla>54540</bugzilla> - "HTML Parameter Mask" are not marked deprecated in the IHM. Contributed by Philippe Mouawad</li>
<li><bugzilla>54575</bugzilla> - CSS/JQuery Extractor : Choosing JODD Implementation always uses JSOUP. Contributed by Philippe Mouawad</li>
<li><bugzilla>54901</bugzilla> - Response Assertion GUI behaves weirdly. Contributed by Philippe Mouawad</li>
<li><bugzilla>54924</bugzilla> - XMLAssertion uses JMeter JVM file.encoding instead of response encoding and does not clean threadlocal variable. Contributed by Philippe Mouawad</li>
</ul>
<h3>Functions</h3>
<ul>
<li><bugzilla>55328</bugzilla> - __escapeOroRegexpChars trims spaces. Contributed by Philippe Mouawad</li>
</ul>
<h3>I18N</h3>
<ul>
</ul>
<h3>General</h3>
<ul>
<li><bugzilla>54504</bugzilla> - Resource string not found: [clipboard_node_read_error]. Contributed by Philippe Mouawad</li>
<li><bugzilla>54538</bugzilla> - GUI: context menu is too big. Contributed by Philippe Mouawad</li>
<li><bugzilla>54847</bugzilla> - Cut &amp; Paste is broken with tree multi-selection. Contributed by Benoit Wiart (benoit.wiart at gmail.com)</li>
<li><bugzilla>54870</bugzilla> - Tree drag and drop may lose leaf nodes (affected nightly build). Contributed by Benoit Wiart (benoit.wiart at gmail.com)</li>
<li><bugzilla>55056</bugzilla> - wasted work in Data.append(). Contributed by Adrian Nistor (nistor1 at illinois.edu)</li>
<li><bugzilla>55129</bugzilla> - Change Javadoc generation per CVE-2013-1571, VU#225657.</li>
<li><bugzilla>55187</bugzilla> - Integer overflow when computing ONE_YEAR_MS in HTTP CacheManager.</li>
<li><bugzilla>55208</bugzilla> - JSR223 language entries are duplicated; fold to lower case.</li>
<li><bugzilla>55203</bugzilla> - TestBeanGUI - wrong language settings found.</li>
<li><bugzilla>55065</bugzilla> - Useless processing in Spline3.converge(). Contributed by Adrian Nistor (nistor1 at illinois.edu)</li>
<li><bugzilla>55064</bugzilla> - Useless processing in ReportTreeListener.isValidDragAction(). Contributed by Adrian Nistor (nistor1 at illinois.edu)</li>
<li><bugzilla>55242</bugzilla> - BeanShell Client jar throws exceptions after upgrading to 2.8.</li>
<li><bugzilla>55288</bugzilla> - JMeter should default to 0 retries for HTTP requests.</li>
<li><bugzilla>55405</bugzilla> - ant download_jars task fails if lib/api or lib/doc are missing. Contributed by Antonio Gomes Rodrigues.</li>
</ul>
<!-- =================== Improvements =================== -->
<h2>Improvements</h2>
<h3>HTTP Samplers</h3>
<ul>
<li>HTTP Request: Small user interaction improvements in Row parameter Detail Box. Contributed by Milamber</li>
<li><bugzilla>55255</bugzilla> - Allow Body in HTTP DELETE method to support API that use it (like ElasticSearch). Contributed by Philippe Mouawad</li>
<li><bugzilla>53480</bugzilla> - Add Kerberos support to Http Sampler (HttpClient4). Contributed by Philippe Mouawad based on patch by Felix Schumacher (felix.schumacher at internetallee.de)</li>
<li><bugzilla>54874</bugzilla> - Support device in addition to source IP address. Based on patch by Dan Fruehauf (malkodan at gmail.com)</li>
</ul>
<h3>Other samplers</h3>
<ul>
<li><bugzilla>54788</bugzilla> - JMS Point-to-Point Sampler - GUI enhancements to increase readability and ease of use. Contributed by Bruno Antunes (b.m.antunes at gmail.com)</li>
<li><bugzilla>54798</bugzilla> - Using subject from EML-file for SMTP Sampler. Contributed by Mikhail Epikhin (epihin-m at yandex.ru)</li>
<li><bugzilla>54759</bugzilla> - SSLPeerUnverifiedException using HTTPS , property documented. Contributed by Philippe Mouawad</li>
<li><bugzilla>54896</bugzilla> - JUnit sampler gives only "failed to create an instance of the class" message with constructor problems. Contributed by Philippe Mouawad</li>
<li><bugzilla>55084</bugzilla> - Add timeout support for JDBC Request. Contributed by Mikhail Epikhin (epihin-m at yandex.ru)</li>
</ul>
<h3>Controllers</h3>
<ul>
<li><bugzilla>54271</bugzilla> - Module Controller breaks if test plan is renamed. Contributed by Philippe Mouawad</li>
</ul>
<h3>Listeners</h3>
<ul>
<li><bugzilla>54532</bugzilla> - Improve Response Time Graph Y axis scale with huge values or small values (&amp;lt; 1000ms). Add a new field to define increment scale. Contributed by Milamber based on patch by Luca Maragnani (luca.maragnani at gmail.com)</li>
<li><bugzilla>54576</bugzilla> - View Results Tree : Add a CSS/JQuery Tester. Contributed by Philippe Mouawad</li>
<li><bugzilla>54777</bugzilla> - Improve Performance of default ResultCollector. Contributed by Philippe Mouawad based on patch by Mikhail Epikhin (epihin-m at yandex.ru)</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bugzilla>54789</bugzilla> - XPath Assertion - GUI enhancements to increase readability and ease of use. Contributed by Philippe Mouawad</li>
</ul>
<h3>Functions</h3>
<ul>
<li><bugzilla>54991</bugzilla> - Add functions to encode/decode URL encoded chars (__urlencode and __urldecode). Contributed by Milamber.</li>
</ul>
<h3>I18N</h3>
<ul>
<li><bugzilla>55241</bugzilla> - Need GUI Editor to process fields which are based on Enums with localised display strings</li>
</ul>
<h3>General</h3>
<ul>
<li><bugzilla>54584</bugzilla> - MongoDB plugin. Contributed by Philippe Mouawad based on patch by Jan Paul Ettles (janpaulettles at gmail.com)</li>
<li><bugzilla>54669</bugzilla> - Add flag forcing non-GUI JVM to exit after test. Contributed by Scott Emmons</li>
<li><bugzilla>42428</bugzilla> - Workbench not saved with Test Plan. Contributed by Dzmitry Kashlach (dzmitrykashlach at gmail.com)</li>
<li><bugzilla>54825</bugzilla> - Add shortcuts to move elements in the tree. Contributed by Benoit Wiart (benoit.wiart at gmail.com)</li>
<li><bugzilla>54834</bugzilla> - Improve Drag &amp; Drop in the jmeter tree. Contributed by Benoit Wiart (benoit.wiart at gmail.com)</li>
<li><bugzilla>54839</bugzilla> - Set the application name on Mac. Contributed by Benoit Wiart (benoit.wiart at gmail.com)</li>
<li><bugzilla>54841</bugzilla> - Correctly handle the quit shortcut on Mac Os (CMD-Q). Contributed by Benoit Wiart (benoit.wiart at gmail.com)</li>
<li><bugzilla>54844</bugzilla> - Set the application icon on Mac Os. Contributed by Benoit Wiart (benoit.wiart at gmail.com)</li>
<li><bugzilla>54864</bugzilla> - Enable multi selection drag &amp; drop in the tree without having to start dragging before releasing Shift or Control. Contributed by Benoit Wiart (benoit.wiart at gmail.com)</li>
<li><bugzilla>54945</bugzilla> - Add Shutdown Hook to enable trapping kill or CTRL+C signals. Contributed by Philippe Mouawad</li>
<li><bugzilla>54990</bugzilla> - Download large files avoiding outOfMemory.</li>
<li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create New Test Plan from Templates. Contributed by UBIK Load Pack (support at ubikloadpack.com)</li>
<li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top Menu and menu items. Contributed by Philippe Mouawad</li>
<li><bugzilla>55202</bugzilla> - Add syntax color for scripts elements (BeanShell, BSF, and JSR223) and JDBC elements with RSyntaxTextArea. Contributed by Milamber based on patch by Marko Vlahovic (vlahovic74 at gmail.com)</li>
<li><bugzilla>55175</bugzilla> - HTTPHC4Impl refactoring to allow better inheritance. Contributed by Philippe Mouawad</li>
<li><bugzilla>55236</bugzilla> - Templates - provide button to reload template details.</li>
<li><bugzilla>55237</bugzilla> - Template system should support relative fileName entries.</li>
<li><bugzilla>55423</bugzilla> - BatchSampleSender: Reduce locking granularity by moving listener.processBatch outside of synchronized block</li>
<li><bugzilla>55424</bugzilla> - Add Stripping to existing SampleSenders</li>
</ul>
<h2>Non-functional changes</h2>
<ul>
<li>Updated to jsoup-1.7.2</li>
<li><bugzilla>54776</bugzilla> - Update the dependency on Bouncy Castle to 1.48. Contributed by Emmanuel Bourg (ebourg at apache.org)</li>
<li>Updated to HttpComponents Client 4.2.5 (from 4.2.3)</li>
<li>Updated to HttpComponents Core 4.2.5 (from 4.2.3)</li>
<li>Updated to commons-codec 1.8 (from 1.6)</li>
<li>Updated to commons-io 2.4 (from 2.2)</li>
<li>Updated to commons-logging 1.1.3 (from 1.1.1)</li>
<li>Updated to commons-net 3.3 (from 3.1)</li>
<li>Updated to jdom-1.1.3 (from 1.1.2)</li>
<li>Updated to jodd-lagarto and jodd-core 3.4.4 (from 3.4.1)</li>
<li>Updated to junit 4.11 (from 4.10)</li>
<li>Updated to slf4j-api 1.7.5 (from 1.7.2)</li>
<li>Updated to tika 1.4 (from 1.3)</li>
<li>Updated to xmlgraphics-commons 1.5 (from 1.3.1)</li>
<li>Updated to xstream 1.4.4 (from 1.4.2)</li>
<li>Updated to BouncyCastle 1.49 (from 1.48)</li>
<li><bugzilla>54912</bugzilla> - JMeterTreeListener should use constants. Contributed by Benoit Wiart (benoit.wiart at gmail.com)</li>
<li><bugzilla>54903</bugzilla> - Remove the dependency on the Activation Framework. Contributed by Emmanuel Bourg (ebourg at apache.org)</li>
<li>Moved commons-lang (2.6) to lib/doc as it's only needed by Velocity.</li>
<li>Re-organised and simplified NOTICE and LICENSE files.</li>
<li><bugzilla>55411</bugzilla> - NativeCommand could be useful elsewhere. Copied code to o.a.jorphan.exec.</li>
</ul>
<h2>Thanks</h2>
<p>We thank all contributors mentioned in bug and improvement sections above.<br/>
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:
<ul>
<li>Immanuel Hayden (immanuel.hayden at gmail.com)</li>
<li>Danny Lade (dlade at web.de)</li>
<li>Brent Cromarty (brent.cromarty at yahoo.ca)</li>
<li>Wolfgang Heider (wolfgang.heider at racon.at)</li>
<li>Shmuel Krakower (shmulikk at gmail.com)</li>
</ul>
</p>
</section>
</body>
</document>