By Konrad Zemek Escalus 4.0.0 is the newest version of our XMPP client library for Erlang, a component of our of tools and services. Created as a tool for convenient testing of XMPP servers, it can also be used as a standalone Erlang application. In contrast to other XMPP clients, Escalus provides a rich testing API (assertions, stanza building…) and a high degree of flexibility that allows to completely redefine its behaviour. MongooseIM platform It is used by Erlang Solutions for integration, load and stress testing of . MongooseIM XMPP server The newest version, Escalus 4.0.0, now supports Erlang 20 and offers the following features and improvements: New, RapidXML-based XML parser Escalus 4.0.0 includes a new version of our Erlang XML parser! The parser’s processing layer was rewritten from scratch, extensively profiled and optimised; as a result, the new parser is on average 5 times faster than before when encoding and decoding XML elements. exml Included XML viewer Files containing traced XMPP stanzas now include a . The viewer shows elements in a readable manner and supports collapsing, searching by name, XPath support, and more. Inspecting your XMPP traffic has never been easier! powerful XML viewer by Sergey Chikuyonok Message pipelining The new XML parser also supports message pipelining, which means that multiple stanzas can be safely sent and received at once by the client. This can greatly improve efficiency of many use cases and in the future will be used to speed up Escalus’ XMPP connection times by an order of magnitude. Transport-level metadata for stanzas The transport process used to receive and deliver XMPP stanzas can now pass on metadata that will be included with elements delivered to the Escalus’ client. Currently the metadata set by existing transport implementations is limited to a receive timestamp, but can be easily overridden and extended by a custom solution. Other improvements TCP connections are now set up with a option which decreases communication latency between Escalus and XMPP server. If you don’t like the change, Escalus 4.0.0 also supports easy overriding of TCP options that allows you to disable it, and more - including the nitty-gritty settings of buffer sizes or ToS flag. nodelay A host of refactoring changes, subtle API improvements, bug fixes, performance enhancements, and an increased number of useful functions to inspect and construct your stanzas all lead to a smoother experience while testing all of your most important features. Test our work on Escalus 4.0.0 and share your feedback Check out our . Play around and let us know what you think! full release notes for Escalus 4.0.0 & 3.1.0 on GitHub Help us improve the MongooseIM platform: Star our repo: esl/escalus Report issues: esl/MongooseIM/issues Share your thoughts via Twitter: twitter.com/MongooseIM Download with new release Docker image Sign up to our dedicated to stay up to date about MongooseIM, messaging innovations and industry news. mailing list Check out our for more information on the MongooseIM platform. MongooseIM product page Originally published at www.erlang-solutions.com .