<?xml version="1.0" encoding="UTF-8"?>
	<feed xmlns="http://www.w3.org/2005/Atom">
	<id>http://blog.prosody.im/</id>
	<title>Prosodical Thoughts</title>
	<subtitle>A blog about Prosody.</subtitle>
	<link href='http://blog.prosody.im/feed/atom.xml' rel='self' />
	<link href='http://blog.prosody.im/' />
	<updated>2013-06-19T18:24:06Z</updated>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/we-like-pie/</id>
	<title>We like Pie</title>
	<published>2013-06-19T18:23:58Z</published>
	<updated>2013-06-19T18:23:58Z</updated>
	<link href='http://blog.prosody.im/we-like-pie/' />
	<content type='html'>


&lt;p>We have just added another target to our package builder,
namely &lt;em>armhf&lt;/em> packages sutable for &lt;a href="http://www.raspbian.org/">Raspian&lt;/a> on the &lt;a href="http://www.raspberrypi.org/">Raspberry Pi&lt;/a>.
The first package available is &lt;em>trunk nightly 391&lt;/em>.&lt;/p>

&lt;p>To try it, simply add our &lt;a href="http://prosody.im/doc/package_repository">package repository&lt;/a> to &lt;code>/etc/apt/sources.list&lt;/code>:&lt;/p>

&lt;pre>&lt;code> deb http://packages.prosody.im/debian wheezy main
&lt;/code>&lt;/pre>

&lt;p>and then run &lt;code>sudo apt-get install prosody-trunk&lt;/code>&lt;/p>



	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-9-0rc3-available-for-testing/</id>
	<title>Prosody 0.9.0rc3 available for testing</title>
	<published>2013-06-18T23:15:53Z</published>
	<updated>2013-06-18T23:15:53Z</updated>
	<link href='http://blog.prosody.im/prosody-0-9-0rc3-available-for-testing/' />
	<content type='html'>


&lt;p>After everyone's wonderful help at finding bugs (&lt;em>cheer&lt;/em>), we've another release candidate for you
from our 0.9 branch.&lt;/p>

&lt;p>The primary reason for this RC is to keep compatibility with the just-released
&lt;a href="http://lua-users.org/lists/lua-l/2013-06/msg00255.html">LuaSocket 3.0rc1&lt;/a>. The new LuaSocket is now available
from our package repository, and we have updated our &lt;a href="http://prosody.im/doc/ipv6">IPv6 documentation&lt;/a> accordingly.
If you have previously installed &lt;code>lua-socket-prosody&lt;/code>, it is now recommended to install the &lt;code>lua-socket&lt;/code> package
instead.&lt;/p>

&lt;p>Summary of changes made since rc2:&lt;/p>

&lt;ul>
    &lt;li>Ensure &lt;code>select()&lt;/code> backend acts correctly when reaching its limits.&lt;/li>
    &lt;li>PEP: Reflect generated id back to the client.&lt;/li>
    &lt;li>Pubsub: Check whether node exists, when deleting.&lt;/li>
    &lt;li>Add missing SSL options for Diffie-Hellman and Elliptic-Curve parameters, with the latter enabled by default&lt;/li>
    &lt;li>Moved function for listing local IP addresses from LuaSocket to &lt;code>util.net&lt;/code>.&lt;/li>
    &lt;li>Add server:memory() command to view details of Prosody's memory usage in the telnet console.&lt;/li>
    &lt;li>A couple of input validation fixes in the telnet console.&lt;/li>
    &lt;li>MUC: Small variable name fix.&lt;/li>
    &lt;li>BOSH: Remove various unused headers.&lt;/li>
&lt;/ul>

&lt;p>Don't forget to keep your &lt;a href="http://prosody.im/discuss">feedback on the release&lt;/a> coming to us!&lt;/p>

&lt;h2>Download&lt;/h2>

&lt;h3>Debian/Ubuntu&lt;/h3>

&lt;p>If you are using our &lt;a href="http://prosody.im/doc/package_repository">package repository&lt;/a> then you can simply install
the &lt;em>prosody-0.9&lt;/em> package, which automatically tracks our 0.9 branch. This release is build 142.&lt;/p>

&lt;p>Alternatively you can download packages manually from &lt;a href="http://packages.prosody.im/debian/pool/dev/p/prosody/">here&lt;/a>.&lt;/p>

&lt;h3>Windows&lt;/h3>


&lt;!--  - [Windows installer](http://prosody.im/tmp/0.9.0rc3/ProsodySetup-0.9.0rc3.exe)
  - [Windows zip](http://prosody.im/tmp/0.9.0rc3/Prosody-0.9.0rc3.zip)
-->


&lt;ul>
    &lt;li>Windows builds are coming soon!&lt;/li>
&lt;/ul>

&lt;h3>Source&lt;/h3>

&lt;ul>
    &lt;li>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/tmp/0.9.0rc3/prosody-0.9.0rc3.tar.gz">prosody-0.9.0rc3.tar.gz&lt;/a>&lt;/li>
&lt;/ul>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-9-0rc2-available-for-testing/</id>
	<title>Prosody 0.9.0rc2 available for testing</title>
	<published>2013-06-05T10:15:11Z</published>
	<updated>2013-06-05T10:15:11Z</updated>
	<link href='http://blog.prosody.im/prosody-0-9-0rc2-available-for-testing/' />
	<content type='html'>


&lt;p>After a very successful &lt;a href="/prosody-0-9-0beta1-available-for-testing/">beta&lt;/a>, we decided it's time for a release
candidate. We have made only a few small changes since beta1:&lt;/p>

&lt;ul>
    &lt;li>With &lt;a href="http://prosody.im/doc/s2s#security">s2s_secure_auth&lt;/a> enabled, we required encryption for
    domains listed in s2s_insecure_domains, even if s2s_require_encryption was not set.&lt;/li>
    &lt;li>Some minor fixes to commands in the &lt;a href="http://prosody.im/doc/console">telnet console&lt;/a>.&lt;/li>
    &lt;li>Automatically disable SSL compression if &lt;a href="http://prosody.im/doc/depends/luasec/prosody">luasec-prosody&lt;/a> is installed.&lt;/li>
    &lt;li>Fix a traceback in mod_bosh when used in combination with some plugins.&lt;/li>
    &lt;li>Fix &lt;a href="http://prosody.im/doc/pubsub">pubsub&lt;/a> "get subscriptions" action.&lt;/li>
&lt;/ul>

&lt;p>As always, we depend very much on your feedback. If you give 0.9.0rc2 a try, &lt;a href="http://prosody.im/discuss">let us know&lt;/a>
how you get on, even if it's only to tell us it's a complete success!&lt;/p>

&lt;h2>Download&lt;/h2>

&lt;h3>Debian/Ubuntu&lt;/h3>

&lt;p>If you are using our &lt;a href="http://prosody.im/doc/package_repository">package repository&lt;/a> then you can simply install
the &lt;em>prosody-0.9&lt;/em> package, which automatically tracks our 0.9 branch.&lt;/p>

&lt;p>Alternatively you can download packages manually from &lt;a href="http://packages.prosody.im/debian/pool/dev/p/prosody/">here&lt;/a>.&lt;/p>

&lt;h3>Windows&lt;/h3>

&lt;ul>
    &lt;li>&lt;a href="http://prosody.im/tmp/0.9.0rc2/ProsodySetup-0.9.0rc2.exe">Windows installer&lt;/a>&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/tmp/0.9.0rc2/Prosody-0.9.0rc2.zip">Windows zip&lt;/a>&lt;/li>
&lt;/ul>

&lt;h3>Source&lt;/h3>

&lt;ul>
    &lt;li>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/tmp/0.9.0rc2/prosody-0.9.0rc2.tar.gz">prosody-0.9.0rc2.tar.gz&lt;/a>&lt;/li>
&lt;/ul>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-9-0beta1-available-for-testing/</id>
	<title>Prosody 0.9.0beta1 available for testing</title>
	<published>2013-05-13T11:46:22Z</published>
	<updated>2013-05-16T17:08:13Z</updated>
	<link href='http://blog.prosody.im/prosody-0-9-0beta1-available-for-testing/' />
	<content type='html'>


&lt;p>It's the news you've all been waiting for! We present the first beta of our upcoming 0.9.0 release. For those
of you not already following our development and nightly builds, here are a few of the major changes in this
development branch (codenamed 'Prosody Everyone Edition') since 0.8:&lt;/p>


&lt;!-- Summary list of changes -->

&lt;p>&lt;div style="clear:both;" />&lt;/p>

&lt;ul>
    &lt;li>Full IPv6 support for all services (c2s, s2s, HTTP, etc.)&lt;/li>
    &lt;li>Server-to-server authentication using certificates (SASL EXTERNAL)&lt;/li>
    &lt;li>A new and improved HTTP subsystem, supporting virtual hosts and fully-reloadable modules&lt;/li>
    &lt;li>Basic pubsub service&lt;/li>
    &lt;li>Many other fixes and improvements, see our &lt;a href="http://prosody.im/doc/release/0.9.0">release notes&lt;/a> for more information.&lt;/li>
&lt;/ul>

&lt;p>&lt;strong>Important:&lt;/strong> This release introduces some changes that require attention from people who upgrade from previous
releases. Please read the upgrading section of our &lt;a href="http://prosody.im/doc/release/0.9.0#upgrading">release notes&lt;/a> to
avoid any surprises.&lt;/p>

&lt;p>We expect there to be one or two more betas before rc1, and then the final release soon after that.&lt;/p>

&lt;p>As always, we appreciate all the help that we get testing Prosody. If you find any issues, please &lt;a href="http://prosody.im/bugs">report them&lt;/a>.&lt;/p>

&lt;h2>Download&lt;/h2>

&lt;h3>Debian/Ubuntu&lt;/h3>

&lt;p>If you are using our &lt;a href="http://prosody.im/doc/package_repository">package repository&lt;/a> then you can simply install
the &lt;em>prosody-0.9&lt;/em> package, which automatically tracks our 0.9 branch.&lt;/p>

&lt;p>Alternatively you can download packages manually from &lt;a href="http://packages.prosody.im/debian/pool/dev/p/prosody/">here&lt;/a>.&lt;/p>

&lt;h3>Windows&lt;/h3>

&lt;ul>
    &lt;li>&lt;a href="http://prosody.im/tmp/0.9.0beta1/ProsodySetup-0.9.0beta1.exe">Windows installer&lt;/a>&lt;/li>
    &lt;li>&lt;a href="http://prosody.im/tmp/0.9.0beta1/Prosody-0.9.0beta1.zip">Windows zip&lt;/a>&lt;/li>
&lt;/ul>

&lt;h3>Source&lt;/h3>

&lt;p>Finally, for you old-school folks...&lt;/p>

&lt;ul>
    &lt;li>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/tmp/0.9.0beta1/prosody-0.9.0beta1.tar.gz">prosody-0.9.0beta1.tar.gz&lt;/a>&lt;/li>
&lt;/ul>

	</content>
</entry>
<entry>
	<author>
		<name>Matthew Wild</name>
	</author>
	<id>http://blog.prosody.im/xmpp-summit-12/</id>
	<title>XMPP summit #12</title>
	<published>2012-09-28T20:40:19Z</published>
	<updated>2012-09-28T21:28:32Z</updated>
	<link href='http://blog.prosody.im/xmpp-summit-12/' />
	<content type='html'>


&lt;p>As usual for this time of year, the XMPP Standards Foundation is holding a &lt;a href="http://xmpp.org/participate/the-xmpp-summit/">summit&lt;/a>
in the US. I'm excited to say that, for the first time, we'll be there!&lt;/p>

&lt;p>The summit shall be held just after the &lt;a href="http://2012.realtimeconf.com/">2012 Realtime conference&lt;/a>
in Portland, Oregon - which I'll also be attending.&lt;/p>

&lt;p>For more information on the summit, including how to attend if you are interested, hop over to the
&lt;a href="http://wiki.xmpp.org/web/Summit_12">XMPP summit #12 wiki page&lt;/a>.&lt;/p>

&lt;p>Finally, if you're on the east coast and can't make it to Portland, I'll be attending events in NYC
too a couple of weeks prior to the summit. Drop me a note to matthew (at) prosody.im if you want to say hi!&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/tiiiiiiimber/</id>
	<title>"Tiiiiiiimber!"</title>
	<published>2012-04-29T00:58:00Z</published>
	<updated>2012-04-29T01:12:31Z</updated>
	<link href='http://blog.prosody.im/tiiiiiiimber/' />
	<content type='html'>


&lt;p>A while back we realised that some of the changes we needed to make for the Prosody 0.9 release were not trivial, and involved breaking some 
established core APIs. We have traditionally kept our &lt;a href="http://hg.prosody.im/trunk">trunk repository&lt;/a> "stable" for everyday testers who aren't 
worried about the occasional bug, so we decided to open up a new branch for in-progress, and potentially broken, work. This branch gained the name 
&lt;a href="http://hg.prosody.im/timber">'timber'&lt;/a> (broken trunk) - timber also happens to be the Old English term for a building, and more appropriately the act of 
building.&lt;/p>

&lt;p>And that's exactly what we've been doing. We have revamped a bunch of APIs in Prosody, from port management to our built-in HTTP server (used for 
BOSH, among other things). We've also moved the bulk of our c2s and s2s code into modules, which makes them fully reloadable without a server 
restart.&lt;/p>

&lt;p>Some of our important new features destined for 0.9.0 landed or improved in timber. These include our much-requested
&lt;a href="http://prosody.im/bugs/68">IPv6 support&lt;/a>, as well as certificate authentication for server-to-server streams.&lt;/p>

&lt;p>Of course one of the primary goals of Prosody is to remain small and simple. All the while we have continued actively looking for unused code, 
especially in small features which were added that never took off,or could be replaced by less code, and removing it. This means that despite all 
the new features we have added, our code has only grown from the previous release by around 40KB. This means we still fit comfortably on a floppy 
disk alongside a copy of Lua, panic over!&lt;/p>

&lt;p>Well, as announced on the Prosody &lt;a href="http://prosody.im/discuss">mailing list&lt;/a>, we merged timber into trunk today. This means for the first time the 
new code is available in our &lt;a href="http://blog.prosody.im/prosody-nightly-builds/">nightly builds&lt;/a>, in
 &lt;a href="http://prosody.im/nightly/trunk/build271/">trunk build #271&lt;/a>.&lt;/p>

&lt;p>Since all this code has had limited testing (a brave (read: 'crazy') group of us have been running our servers on timber for some time). Now that 
it's out in the open we expect more bugs to be uncovered, if you run into any then please &lt;a href="http://prosody.im/discuss">let us know&lt;/a> so we can squash 
them in preparation for the release.&lt;/p>

&lt;p>I finally leave you with the obligatory picture of a piece of timber. Oh, and of course a cat. On a sawmill.&lt;/p>

&lt;p>&lt;img src="/files/SawmillCat.jpg" title="Meoowwwww" />&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-8-2-released/</id>
	<title>Prosody 0.8.2 released</title>
	<published>2011-06-20T14:38:43Z</published>
	<updated>2011-06-20T14:38:43Z</updated>
	<link href='http://blog.prosody.im/prosody-0-8-2-released/' />
	<content type='html'>


&lt;p>Hi all. Just a small release for you this time, with a handful of bugfixes. Thanks to '@eoranged'
and the other PostgreSQL users who helped with feedback and testing of the SQL fixes (the PostgreSQL
server we use for testing is now behaving properly!).&lt;/p>


&lt;!-- Summary list of changes -->

&lt;p>&lt;div style="clear:both;" />&lt;/p>

&lt;p>A summary of changes in this release:&lt;/p>

&lt;ul>
    &lt;li>mod_storage_sql: Fix compatibility with PostgreSQL databases (0.8.1 issue)&lt;/li>
    &lt;li>mod_bosh: Fix for sessions not timing out after inactivity in some cases&lt;/li>
    &lt;li>mod_dialback: Fix multiple concurrent dialback requests for the same domain (was sometimes causing s2s failure with certain ejabberds)&lt;/li>
&lt;/ul>

&lt;h2>Download&lt;/h2>


&lt;p>&lt;strong>Windows&lt;/strong>: &lt;a href="http://prosody.im/downloads/windows/ProsodySetup-0.8.2.exe">Installer&lt;/a> | &lt;a href="http://prosody.im/downloads/windows/Prosody-0.8.2.zip">Zip&lt;/a>&lt;/p>

&lt;p>&lt;strong>Debian/Ubuntu&lt;/strong>: &lt;a href="http://prosody.im/downloads/debian/prosody_0.8.2-1_i386.deb">32-bit&lt;/a> | &lt;a href="http://prosody.im/downloads/debian/prosody_0.8.2-1_amd64.deb">64-bit&lt;/a>&lt;/p>

&lt;p>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/downloads/source/prosody-0.8.2.tar.gz">prosody-0.8.2.tar.gz&lt;/a>&lt;/p>



	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-8-1-released/</id>
	<title>Prosody 0.8.1 released</title>
	<published>2011-06-04T18:55:19Z</published>
	<updated>2011-06-05T00:25:24Z</updated>
	<link href='http://blog.prosody.im/prosody-0-8-1-released/' />
	<content type='html'>


&lt;p>This is a security and bugfix release for the 0.8 branch. This release contains fixes for a
couple of major issues, and it is strongly recommended that you upgrade.&lt;/p>

&lt;p>&lt;img src="/files/drama.jpg" style="float:right;" />&lt;/p>

&lt;p>Some of you may already be aware of the "billion laughs" denial-of-service attack which was
discovered to work against a number of XMPP servers recently. Due to accidental oversight the
Prosody team was not notified ahead of the issue being made public, so we have worked hard the
past few days to prepare this release as soon as we could.&lt;/p>

&lt;p>In addition to upgrading Prosody, you MUST also upgrade the &lt;a href="http://www.keplerproject.org/luaexpat/">LuaExpat&lt;/a>
library to &lt;a href="http://article.gmane.org/gmane.comp.lang.lua.general/79336">1.2.0&lt;/a> to prevent
the attack - this should hopefully be arriving in your distribution shortly, alternatively it can
be installed using &lt;a href="http://luarocks.org/">luarocks&lt;/a>. See our
&lt;a href="http://prosody.im/doc/depends#luaexpat">dependencies page&lt;/a> for details.&lt;/p>

&lt;p>If you are a packager and are looking for backported patches to older Prosody versions, please
see the &lt;a href="http://prosody.im/doc/release/0.8.1#backporting">0.8.1 release notes&lt;/a>.&lt;/p>

&lt;p>&lt;br style="clear:both;" />&lt;/p>

&lt;p>A summary of changes in this release:&lt;/p>

&lt;ul>
    &lt;li>&lt;p>Reject XML DTDs, comments and processing instructions, preventing the "billion laughs" attack&lt;/p>&lt;/li>
    &lt;li>&lt;p>Switch to MEDIUMTEXT in the schema for MySQL to avoid truncating large data (such as large avatars)
    Prosody automatically upgrades the table in-place if possible, see our &lt;a href="http://prosody.im/doc/mysql">MySQL documentation&lt;/a>
    for more information.&lt;/p>&lt;/li>
    &lt;li>&lt;p>Fix for endless loop when parsing certain invalid JSON&lt;/p>&lt;/li>
    &lt;li>&lt;p>Fix PostgreSQL compatibility in prosody-migrator&lt;/p>&lt;/li>
    &lt;li>&lt;p>Fix timestamp parsing for DST (affecting MUC scrollback retrieval)&lt;/p>&lt;/li>
    &lt;li>&lt;p>mod_legacyauth now correctly disabled for unencrypted connections by default&lt;/p>&lt;/li>
    &lt;li>&lt;p>Components properly inherit SSL settings and certificates from their 'parent' hosts&lt;/p>&lt;/li>
    &lt;li>&lt;p>Prevent startup with no VirtualHost entries in the config file&lt;/p>&lt;/li>
&lt;/ul>

&lt;p>As usual if you need help or have any questions about installing/upgrading, feel
free to &lt;a href="http://prosody.im/discuss">ask&lt;/a>.&lt;/p>

&lt;h2>Download&lt;/h2>

&lt;p>&lt;strong>Windows&lt;/strong>: &lt;a href="http://prosody.im/downloads/windows/ProsodySetup-0.8.1.exe">Installer&lt;/a> | &lt;a href="http://prosody.im/downloads/windows/Prosody-0.8.1.zip">Zip&lt;/a>&lt;/p>

&lt;p>&lt;strong>Debian/Ubuntu&lt;/strong>: &lt;a href="http://prosody.im/downloads/debian/prosody_0.8.1-1_i386.deb">32-bit&lt;/a> | &lt;a href="http://prosody.im/downloads/debian/prosody_0.8.1-1_amd64.deb">64-bit&lt;/a>&lt;/p>

&lt;p>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/downloads/source/prosody-0.8.1.tar.gz">prosody-0.8.1.tar.gz&lt;/a>&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/an-introduction-to-lua-london/</id>
	<title>An Introduction to Lua - London</title>
	<published>2011-04-18T01:43:25Z</published>
	<updated>2011-04-18T01:43:25Z</updated>
	<link href='http://blog.prosody.im/an-introduction-to-lua-london/' />
	<content type='html'>


&lt;p>A heads-up for those in the London area and looking for something to do on &lt;a href="http://londongeeknights.wetpaint.com/">Tuesday
evening&lt;/a>. Matthew is going to be giving a
talk introducing the basics of &lt;a href="http://lua.org/">Lua&lt;/a>, and talking a bit about why
we chose Lua for &lt;a href="http://prosody.im/">Prosody&lt;/a>, and how it has benefited the project.&lt;/p>

&lt;p>Anyone is welcome, space permitting, and registration is free via
&lt;a href="http://lanyrd.com/2011/introduction-to-lua/">Lanyrd&lt;/a> (Twitter account required) or
&lt;a href="http://www.superdevs.com/groups/london-geek-nights">Superdevs&lt;/a> (OpenID required).&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/prosody-0-8-0-released/</id>
	<title>Prosody 0.8.0 released!</title>
	<published>2011-04-07T14:37:04Z</published>
	<updated>2011-04-07T18:27:29Z</updated>
	<link href='http://blog.prosody.im/prosody-0-8-0-released/' />
	<content type='html'>


&lt;p>Hurrah! We're very pleased to announce the release of &lt;a href="http://prosody.im/">Prosody&lt;/a> 0.8.0.&lt;/p>

&lt;p>This release includes a number of anticipated new features, which we'll take 
a tour of below. But before that we would like to thank everyone who has
helped with this release - our strong community makes Prosody what it is.&lt;/p>

&lt;p>In particular I'd like to thank Florian Zeitz, Kim Alvefur, Jeff Mitchell,
Robert Hoelz, Paul Aurich, Dwayne Bent, Tobias Tom and Brian Cully for their
contributions to this release.&lt;/p>

&lt;p>And a quick word about 0.9, which is already underway. As always we're looking
for testers and contributors to help shape the next release. We currently have
pubsub, secure federation using certificate authentication and IPv6 support in
various stages of development in trunk.&lt;/p>

&lt;p>So, now to what's new in 0.8. Let's see...&lt;/p>

&lt;h2>Pluggable authentication&lt;/h2>
&lt;p>Prosody already supported various authentication mechanisms via Cyrus SASL.
However Cyrus SASL is, as anyone who has used it will agree, not the easiest
piece of kit to configure.&lt;/p>

&lt;p>Prosody 0.8 brings us the option of &lt;a href="http://prosody.im/doc/authentication">authentication modules&lt;/a>,
which handle the validation of credentials for a given domain.&lt;/p>

&lt;p>The primary two authentication modules provide &lt;a href="http://prosody.im/doc/modules/mod_auth_internal_plain">plaintext&lt;/a>
and &lt;a href="http://prosody.im/doc/modules/mod_auth_internal_hashed">hashed&lt;/a> password storage. The hashed
storage module was originally developed by &lt;a href="http://jefferai.org/">Jeff Mitchell&lt;/a>, and made to use
the &lt;a href="http://tools.ietf.org/html/rfc5802">SCRAM&lt;/a> standard format for storing the hashed passwords.
As far as we are aware Prosody is the only open-source XMPP server to support this secure format
for password storage.&lt;/p>

&lt;p>It's worth noting that both plain and hashed storage have different advantages and drawbacks,
which we discuss in our article &lt;a href="http://prosody.im/doc/plain_or_hashed">"Plain or hashed password storage?"&lt;/a>.&lt;/p>

&lt;p>In addition there are beta and community modules for authenticating against
&lt;a href="http://code.google.com/p/prosody-modules/wiki/mod_auth_ldap">LDAP&lt;/a>, an 
&lt;a href="http://code.google.com/p/prosody-modules/wiki/mod_auth_external">external process/script&lt;/a>,
and even &lt;a href="http://code.google.com/p/prosody-modules/wiki/mod_auth_internal_yubikey">two-factor authentication&lt;/a>
using &lt;a href="http://www.yubico.com/yubikey">YubiKey&lt;/a> devices. This list is set to grow, and
we encourage anyone to &lt;a href="http://prosody.im/discuss">suggest&lt;/a> or
&lt;a href="http://code.google.com/p/prosody-modules">contribute&lt;/a> new authentication modules.&lt;/p>

&lt;h2>Pluggable storage&lt;/h2>
&lt;p>Authentication wasn't the only area to gain some extensibility. The number
of requests we received to link Prosody up with different storage systems,
ranging from stock MySQL and PostgreSQL setups to Mongo and CouchDB encouraged
us to develop our storage API to allow any plugin to provide &lt;a href="http://prosody.im/doc/storage">storage drivers&lt;/a>.&lt;/p>

&lt;p>&lt;img src="/files/prosody-db-logos.png" style="float:right;" />&lt;/p>

&lt;p>Prosody's beloved &lt;a href="http://prosody.im/doc/modules/mod_storage_internal">file-based driver&lt;/a>
remains the default, but we have added an
&lt;a href="http://prosody.im/doc/modules/mod_storage_sql">SQL storage plugin&lt;/a> for those who
need something more powerful, or who need to easily share the data with other
applications such as web services. This module currently supports MySQL, PostgreSQL and
SQLite3.&lt;/p>

&lt;p>If you have a favourite database that you want Prosody to support, now is the time
to &lt;a href="http://code.google.com/p/prosody-modules">get hacking&lt;/a>!&lt;/p>

&lt;h2>Ad-hoc commands&lt;/h2>
&lt;p>Florian Zeitz developed ad-hoc command support for Prosody a while back, but 0.8
is the first release to include it as standard. Ad-hoc commands allow you to
control and configure the server from within your XMPP client, using a
form-driven interface.&lt;/p>

&lt;p>&lt;img src="/files/prosody-adhoc-shutdown.png" />&lt;/p>

&lt;h2>Multi-user conference improvements&lt;/h2>
&lt;p>Our MUC module was missing a number of useful features that we have added in 0.8.
These include members-only and invite-only rooms, and restricting room creation
to local users as well as admins.&lt;/p>

&lt;h2>Other features&lt;/h2>
&lt;p>As usual we've added a large number of other small features and enhancements that
are too numerous to list here. You'll just have to download the release and be
&lt;a href="/files/surprised.jpg">surprised&lt;/a>!&lt;/p>

&lt;h2>Download&lt;/h2>

&lt;p>&lt;strong>Windows&lt;/strong>: &lt;a href="http://prosody.im/downloads/windows/ProsodySetup-0.8.0.exe">Installer&lt;/a> | &lt;a href="http://prosody.im/downloads/windows/Prosody-0.8.0.zip">Zip&lt;/a>&lt;/p>

&lt;p>&lt;strong>Debian/Ubuntu&lt;/strong>: &lt;a href="http://prosody.im/downloads/debian/prosody_0.8.0-1_i386.deb">32-bit&lt;/a> | &lt;a href="http://prosody.im/downloads/debian/prosody_0.8.0-1_amd64.deb">64-bit&lt;/a>&lt;/p>

&lt;p>&lt;strong>Source tarball&lt;/strong>: &lt;a href="http://prosody.im/downloads/source/prosody-0.8.0.tar.gz">prosody-0.8.0.tar.gz&lt;/a>&lt;/p>

	</content>
</entry>
<entry>
	<author>
		<name>The Prosody Team</name>
	</author>
	<id>http://blog.prosody.im/json-encodings-for-xmpp/</id>
	<title>JSON Encodings for XMPP</title>
	<published>2011-04-01T19:00:52Z</published>
	<updated>2011-04-02T01:12:43Z</updated>
	<link href='http://blog.prosody.im/json-encodings-for-xmpp/' />
	<content type='html'>


&lt;p>By popular demand from some parts of the web community the &lt;a href="http://xmpp.org/">XSF&lt;/a> published a
new XMPP extension today - &lt;a href="http://xmpp.org/extensions/xep-0295.html">XEP-0295&lt;/a>. At long last
this XEP brings us a standard for XMPP streams that employ the standard lightweight data
interchange format known as &lt;a href="http://json.org/">JSON&lt;/a>.&lt;/p>

&lt;p>We all know that JSON is simple, light and fast - and of course these properties align very well
with the Prosody project. For that reason, we have been working hard all day to provide the first
implementation of this new stream format... and are happy to announce the immediate
release of &lt;a href="http://prosody-modules.googlecode.com/hg/mod_json_streams/mod_json_streams.lua">mod_json_streams&lt;/a>!&lt;/p>

&lt;p>Simply install mod_json_streams as you would any other plugin (requires &lt;a href="http://blog.prosody.im/prosody-0-8-0rc2-available-for-testing/">Prosody 0.8&lt;/a>) and
you can start using JSON streams right away! More documentation can be found on the &lt;a href="http://code.google.com/p/prosody-modules">prosody-modules&lt;/a> wiki page &lt;a href="http://code.google.com/p/prosody-modules/wiki/mod_json_streams">for mod_json_streams&lt;/a>.&lt;/p>

&lt;p>While client developers can now rally to implement &lt;a href="http://xmpp.org/extensions/xep-0295.html">XEP-0295&lt;/a>
in their software, we have already
developed &lt;a href="http://prosody-modules.googlecode.com/hg/mod_json_streams/strophe.jsonstreams.js">a plugin&lt;/a>
for the popular &lt;a href="https://github.com/metajack/strophejs">Strophe&lt;/a> JS library to allow web developers to
incorporate this into their projects right away. After loading this Strophe connection plugin simply
point Strophe at &lt;code>http://your-server:5280/jsonstreams&lt;/code> and watch the JSON fly!&lt;/p>

&lt;p>Those interested will be glad to know that we are already at work on our next big interface - HTML(5) based
streams, complete with support for optional closing tags in stanzas, and an embedded scripting language for
manipulating them once they reach clients.&lt;/p>

	</content>
</entry>
</feed>