camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [CONF] Apache Camel > Camel 2.11.0 Release
Date Fri, 01 Feb 2013 16:43:00 GMT
    <base href="">
            <link rel="stylesheet" href="/confluence/s/2042/9/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true" type="text/css">
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="">Camel 2.11.0 Release</a></h2>
    <h4>Page <b>edited</b> by             <a href="">Claus Ibsen</a>
                         <h4>Changes (1)</h4>
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* The method {{prepareOnStartup}} on {{org.apache.camel.component.file.GenericFileProcessStrategy}} is now executed on first poll instead of starting the route; as if the job takes a long time, it will block Camel from starting other routes. If the job takes more than 1 second to run then its logged at INFO level so people can easier spot if the task takes a longer time, than usual. <br>* [HDFS] producer without a split strategy will now close file stream after writing. You can use the {{CamelHdfsClose}} header to explicit to control if to close file stream or not. <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">* The type for file last modified header is changed from {{java.util.Date}} to {{long}} <br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-unchanged" >h2. Known Issues <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="Camel2.11.0Release-Camel2.11.0release%28currentlyinprogress%29"></a>Camel 2.11.0 release (currently in progress)</h1>

<div style="padding-right:20px;float:left;margin-left:-20px;"><p><span class="image-wrap" style=""><img src="" style="border: 0px solid black" /></span></p></div>
<div style="min-height:200px"></div>

<h2><a name="Camel2.11.0Release-NewandNoteworthy"></a>New and Noteworthy</h2>

<p>Welcome to the 2.11.0 release with approximately XXX issues resolved - including new features, improvements, and bug fixes, such as: </p>

	<li>Added <a href="/confluence/display/CAMEL/Binding" title="Binding">Binding</a> support, so it is easy to combine things like a <a href="/confluence/display/CAMEL/Data+Format" title="Data Format">Data Format</a> to an <a href="/confluence/display/CAMEL/Endpoint" title="Endpoint">Endpoint</a> for easier composition of routes.</li>
	<li>Added support for SOAP 1.2 in <a href="/confluence/display/CAMEL/SOAP" title="SOAP">SOAP</a> data format.</li>
	<li><a href="/confluence/display/CAMEL/Cache" title="Cache">Cache</a> operation for add/update now supports expiry headers to control time to live/idle/eternal.</li>
	<li>Added <tt>allowNullBody</tt> option to <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> to configure whether sending messages with no body is allowed.</li>
	<li>Added <tt>connectOnStartup</tt> option to <a href="/confluence/display/CAMEL/HDFS" title="HDFS">HDFS</a> to allow to connect on demand, to avoid having Hadoop block for long time connecting to the HDFS cluster, as it has a hardcoded 15 minute retry mechanism.</li>
	<li>Added support for daily and weekly trends to <a href="/confluence/display/CAMEL/Twitter" title="Twitter">Twitter</a> component.</li>
	<li>The <a href="/confluence/display/CAMEL/Camel+Maven+Archetypes" title="Camel Maven Archetypes">Camel Maven Archetypes</a> now generates projects without any license headers.</li>
	<li>Added <tt>rejectOld</tt> option to the <a href="/confluence/display/CAMEL/Resequencer" title="Resequencer">Resequencer</a> to prevent out of order messages from being delivered after capacity/timeout events occur</li>
	<li>Further optimized <a href="/confluence/display/CAMEL/XPath" title="XPath">XPath</a> under concurrent load, and as well ensured resources are cleaned up eagerly</li>
	<li>Added options <tt>allowNullBody</tt> and <tt>readLockMinLength</tt> to the <a href="/confluence/display/CAMEL/File2" title="File2">File</a> and <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> components.</li>
	<li>Made <tt>changed</tt> read lock strategy on <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> go faster (eg when the FTP server has a lot of files in the directory) if you enable the <tt>fastExistsCheck=true</tt> option as well. Notice that some FTP server may not support this.</li>
	<li><a href="/confluence/display/CAMEL/HL7" title="HL7">HL7</a> moves to HAPI 2.0 and supports using a dedicated Parser instance in the <a href="/confluence/display/CAMEL/HL7" title="HL7">HL7</a> MLLP codec and DataFormat. Added "Terser" language and expression to be able to extract fields from a parsed message. <a href="/confluence/display/CAMEL/HL7" title="HL7">HL7</a> now uses Apache Mina 2.x.</li>
	<li>Add an option <tt>HttpMethodRestrict</tt> to restrict HTTP method in <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a> and <a href="/confluence/display/CAMEL/SERVLET" title="SERVLET">SERVLET</a></li>
	<li>Add support for selection of <a href="/confluence/display/CAMEL/Direct-VM" title="Direct-VM">Direct&#45;VM</a> consumers by using ant-like path expression.</li>
	<li>The <a href="/confluence/display/CAMEL/POJO+Producing" title="POJO Producing">POJO Producing</a>, and <a href="/confluence/display/CAMEL/POJO+Consuming" title="POJO Consuming">POJO Consuming</a> with @Consume, @Produce, @EndpointInject now supports a new {{property} attribute to get the endpoint configuration from a bean property (eg using a getter method); this allows you to configure this on the bean using conventional bean configuration.</li>
	<li>Testing with <tt>camel-test-blueprint</tt> on Windows no longer tries to cleanup after testing taking up 5 seconds and logging WARNs.</li>
	<li>The <a href="/confluence/display/CAMEL/File2" title="File2">File</a>, and <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> components now support <tt>fileExist=Move</tt> option to move any existing files before writing a file.</li>
	<li>Added option <tt>loadStatisticsEnabled</tt> on <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">Camel JMX</a> to allow to disable load statistics if not needed (avoids a background thread being in use, to calculate the load stats).</li>
	<li>Enabled "lazy connections" for <a href="/confluence/display/CAMEL/XMPP" title="XMPP">XMPP</a> providers via the <tt>testConnectionOnStartup</tt> option</li>
	<li>Added a connection monitor to detect and fix dropped <a href="/confluence/display/CAMEL/XMPP" title="XMPP">XMPP</a> consumer connections at configurable <tt>connectionPollDelay</tt> intervals</li>
	<li>Added an <tt>org.apache.camel.builder.ExchangeBuilder</tt> to build the <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a> using a builder pattern.</li>
	<li>The <a href="/confluence/display/CAMEL/Camel+Run+Maven+Goal" title="Camel Run Maven Goal">Camel Run Maven Goal</a> can now run <a href="/confluence/display/CAMEL/CDI" title="CDI">CDI</a> applications.</li>
	<li>The Camel <a href="/confluence/display/CAMEL/CDI" title="CDI">CDI</a> component has improved a lot.</li>
	<li>Added option <tt>allowRedeliveryWhileStopping</tt> to <a href="/confluence/display/CAMEL/Dead+Letter+Channel" title="Dead Letter Channel">error handlers</a> to control if redelivery is allowed during stopping/shutting down Camel or the route(s). Turning this option <tt>false</tt> allows to stop quicker by rejecting redelivery attempts.</li>
	<li>Added support for specifying user info in Camel <a href="/confluence/display/CAMEL/Endpoint" title="Endpoint">Endpoint</a> urls, which contains the @ sign; now the @ sign can be given as is; without being encoded to %40.</li>
	<li>Added robust connection support for <a href="/confluence/display/CAMEL/JMX" title="JMX">JMX</a>. Optional <tt>testConnectionOnStartup</tt> allows a JMX consumer to attach to a JMX server that becomes available <em>after</em> the JMX endpoint starts; <tt>reconnectOnConnectionFailure</tt> enables re-connection of failed JMX connections.</li>
	<li><a href="/confluence/display/CAMEL/JAXB" title="JAXB">JAXB</a> and <a href="/confluence/display/CAMEL/SOAP" title="SOAP">SOAP</a> data format now supports controlling namespace prefix mappings when marshalling (eg to avoid prefixes such as ns2, ns3, ns4 etc.)</li>
	<li>Added support for using raw uris when <a href="/confluence/display/CAMEL/Component" title="Component">Component</a>s create <a href="/confluence/display/CAMEL/Endpoint" title="Endpoint">Endpoint</a>s. This gives component writers full power in case their component has special syntax/notation for endpoint uri configurations.</li>
	<li><a href="/confluence/display/CAMEL/EIP" title="EIP">EIP</a>s configured with custom <tt>AggregationStrategy</tt> will now strict check the custom strategy exists in the <a href="/confluence/display/CAMEL/Registry" title="Registry">Registry</a> and no longer fallback and use a default strategy if not.</li>
	<li>Camel now logs on shutdown if any thread pools hasn't been properly shutdown, and will shutdown them as fail safe (can only be done for the thread pools Camel manages).</li>
	<li>The buffer size of <a href="/confluence/display/CAMEL/Stream+caching" title="Stream caching">Stream caching</a> is now configurable.</li>
	<li>Improved startup performance.</li>
	<li>Added <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> URI option <tt>messageListenerContainerFactoryRef</tt> which allows you to specify a <tt>MessageListenerContainerFactory</tt> to determine what <tt>org.springframework.jms.listener.AbstractMessageListenerContainer</tt> to use to consume messages.</li>
	<li><a href="/confluence/display/CAMEL/MQTT" title="MQTT">MQTT</a> producer now leverages the <a href="/confluence/display/CAMEL/Asynchronous+Routing+Engine" title="Asynchronous Routing Engine">Asynchronous Routing Engine</a></li>
	<li>The <a href="/confluence/display/CAMEL/Netty" title="Netty">Netty</a> producer scales up and down much better by leveraging a channel pool.</li>
	<li>Added new <a href="/confluence/display/CAMEL/Camel+Maven+Archetypes" title="Camel Maven Archetypes">Camel Maven Archetypes</a> for creating Camel and Groovy applications.</li>
	<li>Camel now injects <tt>CamelContext</tt> on <tt>Language</tt> and <tt>DataFormat</tt> that implements <tt>CamelContextAware</tt></li>
	<li>Thread pools in Camel with <tt>maximumQueueSize</tt> of 0 or negative will now not use a worker queue but do direct hand-over to thread instead.</li>
	<li><a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a> unary operators for inc and dec must now have function on left hand side, to be parsed as unary function. Otherwise its now regarded as literal.</li>
	<li>Custom assigned id's on Camel <a href="/confluence/display/CAMEL/Routes" title="Routes">Routes</a> is now validated on starting the routes, that they must be unique within the same CamelContext.</li>
	<li>Added <tt>AbstractListAggregationStrategy</tt> abstract class to make it easier to <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">aggregate</a> into a List&lt;V&gt; using a custom <tt>AggregationStrategy</tt>.</li>
	<li><a href="/confluence/display/CAMEL/EIP" title="EIP">EIP</a>s which support using <tt>AggregationStrategy</tt> now control the lifecycle of the strategy; allowing end users to do custom logic in the start/stop methods of their strategy implementation.</li>
	<li>Added option <tt>includeSentJMSMessageID</tt> to <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> to allow to enrich Camel Message with the actual JMSMessageID for the sent message. Can be used by end users for logging purpose etc.</li>
	<li>Added option <tt>allowShortLines</tt> and <tt>ignoreExtraColumns</tt> to <a href="/confluence/display/CAMEL/Flatpack+DataFormat" title="Flatpack DataFormat">Flatpack data format</a>.</li>
	<li><a href="/confluence/display/CAMEL/Mail" title="Mail">Mail</a> consumer now supports using search terms to filter mails by terms such as subject, from, body, sent date etc.</li>
	<li>The cached script file in the <a href="/confluence/display/CAMEL/Language" title="Language">Language</a> component can now be cleared via JMX.</li>
	<li>improved the karaf context-info command by adding a verbose mode to view endpoints list (now hidden by default) and adding stats on the number of active/inactive routes</li>
	<li>Added support for <tt>UpdateList</tt>, <tt>DeleteList</tt> and <tt>ExecutorType</tt> to <a href="/confluence/display/CAMEL/MyBatis" title="MyBatis">MyBatis</a> component.</li>
	<li>Added support for easier configuration of using concurrent message listener consumer when doing request/reply over <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a>, by leveraging the existing <tt>concurrentConsumers</tt> and <tt>maxConcurrentConsumers</tt> options.</li>
	<li>Improved the <a href="/confluence/display/CAMEL/SMPP" title="SMPP">SMPP</a> consumer to expose more data by receiving a <tt>DeliverSM</tt> message.</li>
	<li>Camels <a href="/confluence/display/CAMEL/Using+PropertyPlaceholder" title="Using PropertyPlaceholder">property placeholders</a> can now be used in route id / node id's in the routes in XML and Java DSLs, eg &lt;route id="<tt>coolName</tt>"&gt;</li>
	<li>The thread name pattern can easily be configured on &lt;camelContext&gt; with the new threadNamePattern attribute</li>
	<li>Camel now validates <a href="/confluence/display/CAMEL/SEDA" title="SEDA">SEDA</a> and <a href="/confluence/display/CAMEL/VM" title="VM">VM</a> endpoints using same queue name, that if any queue size is in use, that size must match. As well Camel logs at INFO level when starting up the queues and the sizes. This allows end users to easily spot any issues if mistakenly using different queue sizes for the same queue names.</li>
	<li>Added <a href="/confluence/display/CAMEL/Camel+JMX" title="Camel JMX">JMX</a> operations to <a href="/confluence/display/CAMEL/Log" title="Log">throughput logger</a> so you can get stats and also reset the stats at runtime.</li>
	<li>Added ACL support on the <a href="/confluence/display/CAMEL/AWS-S3" title="AWS-S3">AWS&#45;S3</a> component.</li>
	<li>Allow to configure <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a> http client thread pool settings in uri to make it easier to have different settings per endpoint.</li>
	<li>Added support for implied decimal formats to <a href="/confluence/display/CAMEL/Bindy" title="Bindy">Bindy</a></li>
	<li>Added option <tt>backlog</tt> to <a href="/confluence/display/CAMEL/Netty" title="Netty">Netty</a> which can be used to allow more concurrent clients to connect to a <a href="/confluence/display/CAMEL/Netty" title="Netty">Netty</a> consumer.</li>
	<li>Added support for parsing CSV if a field has a ' (single quote) at it's beging</li>
	<li>Added support for using custom url rewrite plugins in <a href="/confluence/display/CAMEL/HTTP" title="HTTP">HTTP</a>, <a href="/confluence/display/CAMEL/HTTP4" title="HTTP4">HTTP4</a>, and <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a> producers, which gives more control of url mappings, such as when bridging/proxying http based routes. Provided <tt><a href="/confluence/display/CAMEL/UrlRewrite" title="UrlRewrite">camel-urlrewrite</a></tt> as out of the box implementation.</li>
	<li>Improved the <a href="/confluence/display/CAMEL/SpringIntegration" title="SpringIntegration">Spring-Integration</a> consumer to also send back the message headers.</li>
	<li>The Camel <a href="/confluence/display/CAMEL/Guice" title="Guice">Guice</a> component has been upgraded to latest Guice 3.0, and no longer dependent on Guice extension project <tt>guiceyfruit</tt>.</li>
	<li>ReplyTo Temporary Queue now refreshed when the underlying <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> Connection fails.</li>
	<li>When processing an <a href="/confluence/display/CAMEL/Exchange" title="Exchange">Exchange</a> fails, the failed route id is available for end users. See details at <a href="/confluence/display/CAMEL/Dead+Letter+Channel" title="Dead Letter Channel">Dead Letter Channel</a>.</li>
	<li>When using <a href="/confluence/display/CAMEL/XSLT" title="XSLT">XSLT</a> includes will use same file or classpath loading as endpoint configuration, if not explicit configured.</li>
	<li>Now <a href="/confluence/display/CAMEL/Camel+Transport+for+CXF" title="Camel Transport for CXF">Camel Transport for CXF</a> supports to configure with blueprint.</li>
	<li><a href="/confluence/display/CAMEL/SQL+Component" title="SQL Component">SQL Component</a> now supports named parameters in the queries.</li>
	<li><a href="/confluence/display/CAMEL/SQL+Component" title="SQL Component">SQL Component</a> now supports <a href="/confluence/display/CAMEL/Batch+Consumer" title="Batch Consumer">Batch Consumer</a> to consume data; for example to pickup new rows being inserted into a table. As well having queries being execute after each row has been processed, such as deleting/marking the row as processed.</li>
	<li>JDBC based <a href="/confluence/display/CAMEL/SQL+Component" title="SQL Component">aggregation repository </a> now allows to store message body and headers as text in individual columns. This makes the data human readable, as by default the data is stored as binary.</li>
	<li><a href="/confluence/display/CAMEL/File2" title="File2">File</a> consumer will on first poll run the check to delete old orphaned lock files. As opposed to before where this happened during startup of Camel itself; which could delay starting Camel if the delete process takes a long time.</li>
	<li><a href="/confluence/display/CAMEL/File2" title="File2">File</a> and <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> can now use a custom idempotent key with the built-in idempotent consumer. For example you can now use both the file name and size as key.</li>
	<li><a href="/confluence/display/CAMEL/File2" title="File2">File</a> and <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> producers support the <tt>CamelOverruleFileName</tt> header as a use once and discard header to overrule and use as filename for writing; while preserving the original filename in the <tt>CamelFileName</tt> header.</li>
	<li>The <a href="/confluence/display/CAMEL/Languages" title="Languages">Languages</a> and <a href="/confluence/display/CAMEL/Language" title="Language">Language</a> component can now load the script from external resource using <tt>"resource:scheme:location"</tt> syntax.</li>
	<li><a href="/confluence/display/CAMEL/HDFS" title="HDFS">HDFS</a> producer without a split strategy will now close file stream after writing. You can use the <tt>CamelHdfsClose</tt> header to explicit to control if to close file stream or not.</li>

<h3><a name="Camel2.11.0Release-Fixedissues"></a>Fixed issues</h3>

	<li>Fixed <a href="/confluence/display/CAMEL/RoutePolicy" title="RoutePolicy">RoutePolicy</a> used from Spring XML with <tt>routePolicyRef</tt> may not invoke all callbacks on the policy.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/MINA" title="MINA">MINA</a> consumer to force disconnect upon timeout when doing request/reply, as late replies may cause side effects otherwise.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a> language with empty quoted literals in predicates, so you can compare against empty strings.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/SOAP" title="SOAP">SOAP</a> data format to set SOAP 1.1 namespace when marhsalling faults.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/SEDA" title="SEDA">SEDA</a> producer to send to the right BlockingQueue being attached on the <a href="/confluence/display/CAMEL/SEDA" title="SEDA">SEDA</a> endpoint so that the sent messages don't get lost.</li>
	<li>Fixed using <tt>sendEmptyMessageWhenIdle=true</tt> on a batch consumer such as <a href="/confluence/display/CAMEL/File2" title="File2">File</a> now working with <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregate</a> EIP when using <tt>completionFromBatchConsumer</tt></li>
	<li>Fixed <tt>MockEndpoint.expectedBodiesReceivedInAnyOrder</tt> to allow asserting on multiple arrival of the same/equal bodies.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/MyBatis" title="MyBatis">MyBatis</a> to demarcate the running transactions properly while reading/writing from/to database.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>, <a href="/confluence/display/CAMEL/HTTP" title="HTTP">HTTP</a>, <a href="/confluence/display/CAMEL/HTTP4" title="HTTP4">HTTP4</a>, and <a href="/confluence/display/CAMEL/AHC" title="AHC">AHC</a> http components not working in bridge mode if content path have spaces</li>
	<li>Fixed the <a href="/confluence/display/CAMEL/CXF" title="CXF">CXF</a> fallback convertor issue which camel will unregister it when the converter return null.</li>
	<li>Fixed the issue that <a href="/confluence/display/CAMEL/File2" title="File2">File2</a> endpoints on windows without volume name in the path url.</li>
	<li>Fixed the issue of unmarshaling pgp messages encrypted with ElGamal.</li>
	<li>Fixed random <a href="/confluence/display/CAMEL/Load+Balancer" title="Load Balancer">Load Balancer</a> to be even spread (before was a little less likely to pick the 1st)</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Timer" title="Timer">Timer</a> to not fire during starting <a href="/confluence/display/CAMEL/CamelContext" title="CamelContext">CamelContext</a></li>
	<li>Fixed <a href="/confluence/display/CAMEL/XMLSecurity+DataFormat" title="XMLSecurity DataFormat">XMLSecurity DataFormat</a> to enable retrieval of password-protected private keys for asymmetric decryption</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Exception+Clause" title="Exception Clause">Exception Clause</a> using <tt>maximumRedeliveries(-1)</tt> may be wrongly inherited by another <tt>onException</tt> during a redelivery process.</li>
	<li>Fixed logging <a href="/confluence/display/CAMEL/Error+Handler" title="Error Handler">Error Handler</a> to use configured logging level.</li>
	<li>Fixed issue when using multiple <tt>RouteBuilder</tt> with the Java DSL should have the <a href="/confluence/display/CAMEL/Exception+Clause" title="Exception Clause">Exception Clause</a> being scoped per <tt>RouteBuilder</tt> instance.</li>
	<li>Fixed issue with restarting a <a href="/confluence/display/CAMEL/SEDA" title="SEDA">SEDA</a> consumer would not stop previous used thread pool.</li>
	<li>Fixed issue when running low on memory and doing request/reply over <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> may GC producer, causing a new producer to be created, and leaving a message listener running from the previous producer.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/Try+Catch+Finally" title="Try Catch Finally">Try Catch Finally</a> should clear redelivery exhaust state when catching exception in doCatch.</li>
	<li>Fixed potential NPE in <a href="/confluence/display/CAMEL/MQTT" title="MQTT">MQTT</a> producer, if a connection has been disconnected, and sending fails.</li>
	<li>Unhandled exceptions occurred during routing from <a href="/confluence/display/CAMEL/SMPP" title="SMPP">SMPP</a> routes is now propagated back to the SMPP library to deal with.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Restlet" title="Restlet">Restlet</a> parsing of last modification date header to use RFC-2822 date pattern.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a> EIP when using completion size expression and fixed size together not working as expected.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Crypto" title="Crypto">Crypto</a> to close streams after usage, which otherwise could prevent deleting files on Windows, which tend to lock files if a stream is open.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/Groovy" title="Groovy">Groovy</a> language in OSGi</li>
	<li>Fixed issue with localWorkDirectory option on <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> not using the optimization to try to rename the work file when routing to a <a href="/confluence/display/CAMEL/File2" title="File2">File</a> endpoint.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/SMPP" title="SMPP">SMPP</a> to use the right data coding by using Octet unspecified (8-bit binary) and using the specified alphabet from the exchange, if provided.</li>
	<li>Fixed issue with configuring <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a> component using a name other than <tt>"jetty"</tt>.</li>
	<li>Fixed issue with request/reply over <a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> where a route is used on "the other end" to process the request and send back the correlated reply message; where a Camel route is used which has only 1 output, which can lead to no reply message being sent.</li>
	<li>Fixed regression in <a href="/confluence/display/CAMEL/AWS-SQS" title="AWS-SQS">AWS&#45;SQS</a> by updating the existing queue without any attributes.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/Using+PropertyPlaceholder" title="Using PropertyPlaceholder">Using PropertyPlaceholder</a> in <a href="/confluence/display/CAMEL/Expression" title="Expression">Expression</a>s in routes which are using &lt;transacted&gt; or &lt;policy&gt;.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/Splitter" title="Splitter">Splitter</a> which swallow the IOException catched by the underlying Scanner.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/Splitter" title="Splitter">Splitter</a> where tokenizeXML would not split XML messages containing nodes with namespace prefixes.</li>
	<li>Fixed issue when using <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a> component would create a http client having a live thread pool, which is only needed if using producers of <a href="/confluence/display/CAMEL/Jetty" title="Jetty">Jetty</a>. Also improved handling lifecycle of clients to be per producer by default instead of shared, which otherwise can cause issues.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/File2" title="File2">File</a> and <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> consumers when using <tt>doneFileName</tt> then avoid picking up files in middle of group if done file is written during scanning.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/File2" title="File2">File</a> and <a href="/confluence/display/CAMEL/FTP2" title="FTP2">FTP</a> consumers when using <tt>doneFileName</tt> may produce too many WARN logs about cannot delete doneFileName.</li>
	<li>Fixed issue with Temporary Queue ReplyTo destination being recreated every time a new multiple concurrent consumer was initialised (<a href="/confluence/display/CAMEL/JMS" title="JMS">JMS</a> component).</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/XSLT" title="XSLT">XSLT</a> was not using custom assigned <tt>UriResolver</tt> to load the initial xslt resource, but only for other included resources.</li>
	<li>Fixed issue when <a href="/confluence/display/CAMEL/Using+PropertyPlaceholder" title="Using PropertyPlaceholder">Using PropertyPlaceholder</a> with OSGi blueprint and using <a href="/confluence/display/CAMEL/Jasypt" title="Jasypt">Jasypt</a> for decrypting placeholders at the same time.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/JMX" title="JMX">JMX</a> component to work in OSGi if output is XML.</li>
	<li>Fixed <a href="/confluence/display/CAMEL/Aggregator2" title="Aggregator2">Aggregator</a> to not check for timeout if completion size expression was in use, and not completed yet.</li>
	<li>Fixed issue with possible to have negative in-flight counts when using <a href="/confluence/display/CAMEL/Content+Enricher" title="Content Enricher">Content Enricher</a>, <a href="/confluence/display/CAMEL/Bean" title="Bean">Bean</a> or annotation <a href="/confluence/display/CAMEL/DSL" title="DSL">DSL</a> under certain conditions.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/Quartz" title="Quartz">Quartz</a> consumer may not work if being configured to trigger with days apart causing its endpoint to be evicted from Camel's endpoint cache.</li>
	<li>Fixed issue with <a href="/confluence/display/CAMEL/Karaf" title="Karaf">Karaf</a> then Camel applications will not properly restart, if using blueprint-cm to reload bundle due .cfg file change.</li>

<h3><a name="Camel2.11.0Release-NewEnterpriseIntegrationPatterns"></a>New <a href="/confluence/display/CAMEL/Enterprise+Integration+Patterns" title="Enterprise Integration Patterns">Enterprise Integration Patterns</a></h3>

	<li><a href="/confluence/display/CAMEL/ControlBus" title="ControlBus">ControlBus</a> EIP</li>

<h3><a name="Camel2.11.0Release-NewCamelKarafCommand"></a>New Camel Karaf Command</h3>

<h3><a name="Camel2.11.0Release-NewComponents"></a>New <a href="/confluence/display/CAMEL/Components" title="Components">Components</a></h3>

	<li><a href="/confluence/display/CAMEL/ControlBus+Component" title="ControlBus Component">ControlBus Component</a> - for easy management using a component supporting the <a href="/confluence/display/CAMEL/ControlBus" title="ControlBus">ControlBus</a> EIP</li>
	<li><tt><a href="/confluence/display/CAMEL/AWS-CW" title="AWS-CW">camel-aws</a></tt> - New component to <a href="/confluence/display/CAMEL/AWS" title="AWS">AWS</a> for sending metrics to Amazon CloudWatch from Camel.</li>
	<li><tt><a href="/confluence/display/CAMEL/CMIS" title="CMIS">camel-cmis</a></tt> - for integration of CMIS compliant content repositories</li>
	<li><tt><a href="/confluence/display/CAMEL/CouchDB" title="CouchDB">camel-couchdb</a></tt> - for integration with <a href="" class="external-link" rel="nofollow">Apache CouchDB</a></li>
	<li><tt><a href="/confluence/display/CAMEL/ElasticSearch" title="ElasticSearch">camel-elasticsearch</a></tt> - for <a href="" class="external-link" rel="nofollow">ElasticSearch</a> integration</li>
	<li><tt><a href="/confluence/display/CAMEL/Neo4j" title="Neo4j">camel-neo4j</a></tt> - for talking to neo4j server from Camel.</li>
	<li><tt><a href="/confluence/display/CAMEL/ServletListener+Component" title="ServletListener Component">camel-servletlistener</a></tt> - for bootstrapping Camel in web applications, without the need for Spring Framework etc.</li>
	<li><tt><a href="/confluence/display/CAMEL/SJMS" title="SJMS">camel-sjms</a></tt> - for "Springless" JMS integration</li>
	<li><tt><a href="/confluence/display/CAMEL/UrlRewrite" title="UrlRewrite">camel-urlrewrite</a></tt> - for bridging http endpoints and using the <a href="" class="external-link" rel="nofollow">UrlRewriteFilter</a> project to control url mappings.</li>
	<li><tt><a href="/confluence/display/CAMEL/XmlRpc" title="XmlRpc">camel-xmlrpc</a></tt> - for talking to xmlrpc server from Camel.</li>

<h3><a name="Camel2.11.0Release-DSLChanges"></a>DSL Changes</h3>

	<li>Added LoggingErrorHandler fluent builder to Scala DSL.</li>

<h3><a name="Camel2.11.0Release-NewAnnotations"></a>New Annotations</h3>

<h3><a name="Camel2.11.0Release-NewDataFormatsDataFormat"></a>New <a href="/confluence/display/CAMEL/Data+Format" title="Data Format">Data Formats</a></h3>
	<li><tt><a href="/confluence/display/CAMEL/XmlRpc" title="XmlRpc">camel-xmlrpc</a></tt> - support to marshal and unmarshal the request and response of xmlrpc.</li>

<h3><a name="Camel2.11.0Release-NewLanguages"></a>New <a href="/confluence/display/CAMEL/Languages" title="Languages">Languages</a></h3>

	<li><a href="/confluence/display/CAMEL/VTD-XML" title="VTD-XML">VTD&#45;XML</a> - for fast and efficient XPath evaluation/splitting using the VTD-XML Library. <tt>camel-vtdxml</tt> hosted at <a href="" class="external-link" rel="nofollow">Camel Extra</a></li>

<h3><a name="Camel2.11.0Release-NewExamples"></a>New <a href="/confluence/display/CAMEL/Examples" title="Examples">Examples</a></h3>

	<li><a href="/confluence/display/CAMEL/ActiveMQ+Camel+Tomcat" title="ActiveMQ Camel Tomcat">ActiveMQ Camel Tomcat</a> example shows how to embed Apache ActiveMQ and Camel in a web application running on Apache Tomcat.</li>
	<li><a href="/confluence/display/CAMEL/Servlet+Tomcat+No+Spring+Example" title="Servlet Tomcat No Spring Example">Servlet Tomcat No Spring Example</a> example shows how to run Camel as a web application in any web container such as Apache Tomcat, without the need for Spring Framework.</li>
	<li><a href="/confluence/display/CAMEL/SQL+Example" title="SQL Example">SQL Example</a> shows how to work with <a href="/confluence/display/CAMEL/SQL+Component" title="SQL Component">SQL</a> to exchange data using a shared database table.</li>

<h3><a name="Camel2.11.0Release-NewTutorials"></a>New <a href="/confluence/display/CAMEL/Tutorials" title="Tutorials">Tutorials</a></h3>

<h2><a name="Camel2.11.0Release-APIchanges%2Fbreaking"></a>API changes/breaking</h2>

	<li><a href="/confluence/display/CAMEL/HL7" title="HL7">HL7</a> upgraded to now use Apache Mina 2.x.</li>
	<li>Renamed <tt>org.apache.camel.component.hbase.HBaseContats</tt> to <tt>org.apache.camel.component.hbase.HBaseConstants</tt></li>
	<li>Added getter/setter methods for loadStatisticsEnabled on <tt>org.apache.camel.spi.ManagementStrategy</tt></li>
	<li>Added <tt>shutdownGraceful</tt>, and <tt>awaitTermination</tt> methods to <tt>ExecutorServiceManager</tt> to make it easier to shutdown a thread pool gracefully waiting for its tasks to complete.</li>
	<li>Added method <tt>useRawUri()</tt> to <tt>org.apache.camel.Component</tt> to allow <a href="/confluence/display/CAMEL/Component" title="Component">Component</a>s to use raw uri when creating endpoints. (by default the uri has been encoded prior to creation).</li>
	<li>Added method <tt>newThread</tt> to <tt>org.apache.camel.spi.ExecutorServiceManager</tt> to create a new thread without using a thread pool.</li>
	<li>Added support to parse CSV if a field has a ' (single quote) at it's beging, this made camel-csv doesn't support the field which is quoted with ' (single quote) or "(double quote) at the same time.</li>

<h2><a name="Camel2.11.0Release-Internal%2FNonAPIrefactoringsthatmayaffectusers"></a>Internal/Non API refactorings that may affect users</h2>

	<li>The <a href="/confluence/display/CAMEL/Testing" title="Testing">Camel Test Kit</a> provides a default <a href="/confluence/display/CAMEL/Properties" title="Properties">Properties</a> component out of the box; which mean using <tt>addComponent("properties", ...)</tt> is no longer needed; instead get the component using <tt>getComponent("properties")</tt> and configure the component instead.</li>
	<li>Minor adjustments to <tt>org.apache.camel.builder.ErrorHandlerBuilder</tt>.</li>
	<li><tt>LRUCache</tt> will attempt to stop service on eviction of entry.</li>
	<li>Removed <tt>org.apache.camel.model.NodeFactory</tt> as its no longer applicable.</li>
	<li>Added <tt>getCamelContext()</tt> methods to <tt>ProducerTemplate</tt>, and <tt>ConsumerTemplate</tt></li>
	<li>The method <tt>isMatched</tt> on <tt>GenericFileConsumer</tt> is now abstract and has an extra parameter.</li>
	<li>The <a href="/confluence/display/CAMEL/Testing" title="Testing">Camel Test Kit</a> removed the support of JUnit3, please use JUnit4 version instead.</li>
	<li>The method <tt>prepareOnStartup</tt> on <tt>org.apache.camel.component.file.GenericFileProcessStrategy</tt> is now executed on first poll instead of starting the route; as if the job takes a long time, it will block Camel from starting other routes. If the job takes more than 1 second to run then its logged at INFO level so people can easier spot if the task takes a longer time, than usual.</li>
	<li><a href="/confluence/display/CAMEL/HDFS" title="HDFS">HDFS</a> producer without a split strategy will now close file stream after writing. You can use the <tt>CamelHdfsClose</tt> header to explicit to control if to close file stream or not.</li>
	<li>The type for file last modified header is changed from <tt>java.util.Date</tt> to <tt>long</tt></li>

<h2><a name="Camel2.11.0Release-KnownIssues"></a>Known Issues</h2>

	<li>The <a href="/confluence/display/CAMEL/Tracer" title="Tracer">Tracer</a> may not output all details for some situations, such as when using <tt>onCompletion</tt> or <tt>intercept</tt>, etc.</li>
	<li>The project cannot fully build the site using Maven (e.g. running <tt>"mvn site"</tt>). There is no plan to fix this, as the project does not use maven site.</li>
	<li>JBoss 7 may log a WARNing when running Camel as a WAR file.</li>

<h2><a name="Camel2.11.0Release-DependencyUpgrades"></a>Dependency Upgrades</h2>

	<li>Aries Blueprint 0.3 to 1.0.1</li>
	<li>Async Http Client 1.7.5 to 1.7.9</li>
	<li>Avro 1.6.2 to 1.7.3</li>
	<li>AWS 1.3.10 to 1.3.27</li>
	<li>BeanIO 2.0.0 to 2.0.3</li>
	<li>Bouncycastle 1.46 to 1.47</li>
	<li>Commons CSV 1.0-r706900_3 to 1.0-r706899_5</li>
	<li>Commons Exec 1.0.1 to 1.1</li>
	<li>Commons Net 3.1 to 3.2</li>
	<li>ConcurrentLinkedHashMap 1.2 to 1.3.2</li>
	<li>Castor 1.3.1 to 1.3.2</li>
	<li>CXF 2.6.5 to 2.7.2</li>
	<li>Dozer 5.3.2 to 5.4.0</li>
	<li>Ehcache 2.5.1 to 2.6.3</li>
	<li>Google App Engine 1.6.6 to 1.7.4</li>
	<li>Groovy 1.8.6 to 2.1.0</li>
	<li>GSon 2.1 to 2.2.2</li>
	<li>Guice 2.0 to 3.0</li>
	<li>Hadoop 1.0.4 to 1.1.1</li>
	<li>Hazelcast 2.0.2 to 2.5</li>
	<li>HBase 0.90.5 to 0.94.3</li>
	<li>HTTP Client 4.1.3 to 4.2.3</li>
	<li>HTTP Core 4.1.4 to 4.2.3</li>
	<li>Icu4j 4.0.1 to</li>
	<li>Jackson 1.9.7 to 1.9.12</li>
	<li>Jaxen 1.1.3 to 1.1.4</li>
	<li>JClouds 1.4.0 to 1.5.5</li>
	<li>Jettison 1.3.1 to 1.3.3</li>
	<li>Jetty 7.5.4 to 7.6.8</li>
	<li>JRuby 1.6.7 to 1.7.2</li>
	<li>JT400 6.0 to 6.7</li>
	<li>Krati 0.4.5 to 0.4.8</li>
	<li>LevelDBJNI 1.2 to 1.5</li>
	<li>Lucene 3.6.0 to 3.6.1</li>
	<li>Mina 2.0.4 to 2.0.7</li>
	<li>MongoDB Java Driver 2.7.3 to 2.9.1</li>
	<li>MQTTClient 1.2 to 1.4</li>
	<li>Netty 3.5.1 to 3.6.2</li>
	<li>Ognl bundle 3.0.4_1 to 3.0.5_1</li>
	<li>OSGi 4.2.0 to 4.3.1</li>
	<li>Pax Logging 1.5.3 to 1.6.10</li>
	<li>QPid 0.16 to 0.18</li>
	<li>Quartz 1.8.5 to 1.8.6</li>
	<li>Restlet 2.0.14 to 2.0.10</li>
	<li>Saxon to</li>
	<li>Scala 2.9.1 to 2.10.0</li>
	<li>ServiceMix Specs 1.9.0 to 2.2.0</li>
	<li>Shiro 1.2.0 to 1.2.1</li>
	<li>SLF4J 1.6.6 to 1.7.2</li>
	<li>Solr 3.6.0 to 3.6.1</li>
	<li>Spring Batch 2.1.8 to 2.1.9</li>
	<li>Spring Framework 3.1.1 to 3.1.2</li>
	<li>Spring Integration 2.1.2 to 2.2.1</li>
	<li>Spring Security 3.1.0 to 3.1.3</li>
	<li>SSHD 0.6.0 to 0.8.0</li>
	<li>StringTemplate 3.2.1 to 4.0.2</li>
	<li>TestNG 6.0.1 to 6.8</li>
	<li>Twitter4j 2.2.5 to 3.0.3</li>
	<li>Woodstox 4.1.2 to 4.1.3</li>
	<li>Xerces 2.9.1 to 2.10.0</li>
	<li>XStream 1.4.2 to 1.4.3</li>
	<li>Zookeeper 3.3.5 to 3.4.5</li>

<h2><a name="Camel2.11.0Release-Importantchangestoconsiderwhenupgrading"></a>Important changes to consider when upgrading</h2>

	<li>Spring 3.0.x support is @deprecated and some of the camel-spring components require Spring 3.1 onwards.</li>
	<li>Apache Camel Karaf features now uses Spring version range "[3.1,4)" as Spring 3.1 is now required as minimum Spring version.</li>
	<li><tt>camel-mina2</tt> now uses <tt>OrderedThreadPoolExecutor</tt> by default. There is a new option <tt>orderedThreadPoolExecutor</tt> you can configure it to <tt>false</tt> to revert back to unordered if needed. If using SSL etc. then ordered is required to be used.</li>
	<li><tt>camel-netty</tt> now uses <tt>OrderedMemoryAwareThreadPoolExecutor</tt> by default. There is a new option <tt>orderedThreadPoolExecutor</tt> you can configure it to false to revert back to unordered if needed. If using SSL etc. then ordered is required to be used.</li>
	<li>The default value of the <tt>delay</tt> option on <a href="/confluence/display/CAMEL/Timer" title="Timer">Timer</a> has been changed from <tt>0</tt> to <tt>1000</tt></li>
	<li>The default value of the <tt>convertLFtoCR</tt> option of the <a href="/confluence/display/CAMEL/HL7" title="HL7">HL7</a> MLLP codec has been changed from <tt>true</tt> to <tt>false</tt>. Likewise, the <a href="/confluence/display/CAMEL/HL7" title="HL7">HL7</a> DataFormat and TypeConverter do not perform this conversion anymore.</li>
	<li>The <a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a> language has limited its support for the escape character to only new line, carriage return and tab characters. This makes it easier to use back-slash characters in the <a href="/confluence/display/CAMEL/Simple" title="Simple">Simple</a> language without double escaping etc.</li>
	<li><tt>camel-netty</tt> now requires <tt>commons-pool</tt> as dependency.</li>
	<li>The <tt>maximumQueueSize</tt> of <a href="" class="external-link" rel="nofollow">Thread Pools</a> and <a href="" class="external-link" rel="nofollow">Thread Pool Profiles</a> with values 0 or negative now means disable the worker queue, and use direct-handover. If you want an unbounded queue size, then set the <tt>maximumQueueSize</tt> to <tt>Integer.MAX_VALUE</tt> which was what the previous code did.</li>
	<li>Custom assigned id's on Camel <a href="/confluence/display/CAMEL/Routes" title="Routes">Routes</a> is now validated on starting the routes, that they must be unique within the same CamelContext.</li>
	<li><tt>camel-blueprint</tt> now requires Apache Aries 1.0, and OSGi 4.3.0.</li>
	<li>Removed @deprecated classes form <tt>camel-spring</tt> in the <tt>org.apache.camel.component</tt> package which was causing split-package issue with OSGi. Component authors who are using these @deprecated classes, should migrate to use equivalent classes from <tt>camel-core</tt> in the same package.</li>
	<li>The default Spring version is upgraded from 3.0.7 to 3.1.3 out of the box.</li>
	<li>Camel now validates <a href="/confluence/display/CAMEL/SEDA" title="SEDA">SEDA</a> and <a href="/confluence/display/CAMEL/VM" title="VM">VM</a> endpoints using same queue name, that if any queue size is in use, that size must match. As well Camel logs at INFO level when starting up the queues and the sizes. This allows end users to easily spot any issues if mistakenly using different queue sizes for the same queue names.</li>
	<li>The <a href="/confluence/display/CAMEL/Zookeeper" title="Zookeeper">Zookeeper endpoint</a> <tt>awaitExistence</tt> option has been marked as @deprecated and is removed from it's documentation as it's usage would have no effect in the current codebase.</li>
	<li>Marked the 2 classes in the <tt>junit4</tt> package from <tt>camel-test-spring</tt> component as @deprecated, and refer to use the classes from the <tt>spring</tt> package instead.</li>
	<li>If using <a href="/confluence/display/CAMEL/XSLT" title="XSLT">XSLT</a> with includes, then mind that if not explicit defined file: or classpath: as prefix in xsl:include, then Camel will now use the same as configured on the endpoint. Before "classpath:" was always used as fallback, despite endpoint could have been configured with "file:".</li>
	<li><tt>camel-scala</tt> has been upgraded to Scala 2.10.0, there is a <tt>camel-scala_2.9</tt> module that is built against Scala 2.9.2. Though <tt>camel-scala_2.9</tt> is deprecated and expected to be removed in the next bigger release (eg Camel 2.12/3.0).</li>

<h2><a name="Camel2.11.0Release-Notice"></a>Notice</h2>

	<li>Maven 3.0.4 or better is required to build the <a href="/confluence/display/CAMEL/Source" title="Source">Source</a></li>
	<li>Apache Karaf 2.3.1 or better is required for deploying Camel 2.11 onwards, when using Apache Karaf.</li>
	<li>Spring 3.1 is now required as minimum Spring version. Spring 3.0 is @deprecated and only partially supported with this Camel release.</li>

<h2><a name="Camel2.11.0Release-GettingtheDistributions"></a>Getting the Distributions</h2>

<h3><a name="Camel2.11.0Release-BinaryDistributions"></a>Binary Distributions</h3>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Download Link </th>
<th class='confluenceTh'> PGP Signature file of download </th>
<td class='confluenceTd'> Windows Distribution </td>
<td class='confluenceTd'> <a href="" class="external-link" rel="nofollow"></a> </td>
<td class='confluenceTd'> <a href="" class="external-link" rel="nofollow"></a> </td>
<td class='confluenceTd'> Unix/Linux/Cygwin Distribution </td>
<td class='confluenceTd'> <a href="" class="external-link" rel="nofollow">apache-camel-2.11.0.tar.gz</a> </td>
<td class='confluenceTd'> <a href="" class="external-link" rel="nofollow">apache-camel-2.11.0.tar.gz.asc</a> </td>

<h3><a name="Camel2.11.0Release-SourceDistributions"></a>Source Distributions</h3>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<th class='confluenceTh'> Description </th>
<th class='confluenceTh'> Download Link </th>
<th class='confluenceTh'> PGP Signature file of download </th>
<td class='confluenceTd'> Source Distribution </td>
<td class='confluenceTd'> <a href="" class="external-link" rel="nofollow"></a> </td>
<td class='confluenceTd'> <a href="" class="external-link" rel="nofollow"></a> </td>

        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="" class="grey">Change Notification Preferences</a>
        <a href="">View Online</a>
        <a href="">View Changes</a>
        <a href=";showCommentArea=true#addcomment">Add Comment</a>

View raw message