Planet Jabber News2024-03-28T23:45:04+00:00http://intertwingly.net/code/venus/Jabber.org Notices: Major Software Upgradetag:jabber.org,272023-01-17T00:00:00+00:00We recently completed a major upgrade of the Jabber.org service, which is now running the Prosody open-source server software. Expect further updates in the coming weeks and months.Jabber.org Noticeshttp://www.jabber.org/notices.htmlMaxime Buquet: Updates from the Poezio ecosystemhttps://bouah.net/2022/04/updates-from-the-poezio-ecosystem/2022-04-10T11:00:00+00:00<p>Releases have happened recently that revolve around <a href="https://lab.louiz.org/poezio/poezio">Poezio</a>, a TUI
(Terminal UI) client for XMPP, including Poezio itself, its backend XMPP
library <a href="https://lab.louiz.org/poezio/slixmpp">Slixmpp</a>, and also the <a href="https://lab.louiz.org/poezio/poezio-omemo">poezio</a> and
<a href="https://lab.louiz.org/poezio/slixmpp-omemo">slixmpp</a> plugins for OMEMO.</p>
<h1 id="many-bug-fixes-and-improvements">Many bug fixes and improvements</h1>
<figure class="center-img">
<a href="https://bouah.net/2022/04/poezio-full.avif">
<source type="image/avif">
<img src="https://bouah.net/2022/04/poezio-full.png" alt="Poezio example screenshot 2" />
</source></a>
<a href="https://bouah.net/2022/04/poezio-full.2.avif">
<source type="image/avif">
<img src="https://bouah.net/2022/04/poezio-full.2.png" alt="Poezio example screenshot 1" />
</source></a>
Examples of screenshots. Thanks jonas’ for the blue theme!
</figure>
<p><a href="https://mathieui.net">Mathieui</a> has already made a proper <a href="https://lab.louiz.org/poezio/slixmpp/-/tags/slix-1.8.0">release note for
Slixmpp</a> and I invite you to read it! It includes many
bugfixes of course, and internal changes around async handling, that may
reflect on some of the APIs you are using.</p>
<p>Poezio has also seen many improvements.</p>
<p>Internally, for one, our default branch has also been moved to “main”, many
type hints have been added, implicit casts (safeJID) have been removed, lots
of event handlers and calls are now async, APIs from Slixmpp are being used
instead of redoing our own, many refactoring, various performance
improvements.</p>
<p>Pypy3 support was removed because it was causing many users to use the cffi
module specifically implemented for pypy3 instead of the more performant C
implementation. For those who are running from sources and not using the
update script, don’t forget to run <code>make</code> to build the C module.</p>
<p>A license change has happened, and Poezio is now under <a href="https://en.wikipedia.org/wiki/GNU_General_Public_License">GPLv3+</a>! While I am not
exactly in favour of intellectual property<sup id="fnref:1"><a href="https://bouah.net/index.xml#fn:1" class="footnote-ref">1</a></sup>, this is a straightforward
lever we have against capitalism<sup id="fnref:2"><a href="https://bouah.net/index.xml#fn:2" class="footnote-ref">2</a></sup>. Poezio being a prime resource for
Slixmpp examples, GPL code should reasonably ensure that the 4 freedoms reach
end-users. In practice, this should allow for poezio-omemo to be merged into
Poezio. I am now personally hoping for Slixmpp to change its license as well.</p>
<p>And other changes more visible to users! To name a few, quality of life
improvements such as <code>xmpp:...?join</code> URIs handling in <code>/join</code>, impromptu rooms
creation is now more reliable and creates rooms with shorter names, and tab
names in the activity bar can be colored using <a href="https://xmpp.org/extensions/xep-0392.html">Consistent Color
Generation</a> by setting <a href="https://doc.poez.io/configuration.html#term-autocolor_tab_names"><code>autocolor_tab_names</code></a>
to <code>True</code>. Read more <a href="https://lab.louiz.org/poezio/poezio/-/raw/v0.14/CHANGELOG">in the changelog</a>.</p>
<figure>
<img src="https://bouah.net/2022/04/poezio-tab-colors.png" alt="Poezio colored tab numbers" />
The tab name color on top can also be reversed
(foreground/background) in the theme to look the same as the activity bar
below.
</figure>
<p>Plugins have seen changes as well. A new <code>untrackme</code> plugin replaces the now
deprecated <code>remove_get_trackers</code>. <a href="https://linkmauve.fr">Link Mauve</a> has also developed
a <code>sticker</code> plugin (to send them), similar in essence to what <a href="https://movim.eu">Movim</a>
has been doing for ages. Rich presence (activity, gaming, mood and user tune)
has been removed from Poezio core and moved in the <code>user_extras</code> plugin. And
again many fixes.</p>
<figure>
<video controls="true">
<source src="/2022/04/poezio-sticker-av1.webm" type="video/webm;codecs=av1">
<source src="/2022/04/poezio-sticker-vp9.webm" type="video/webm;codecs=vp9">
<source src="/2022/04/poezio-sticker-vp8.webm" type="video/webm;codecs=vp8">
<source type="image/avif">
<img src="https://bouah.net/2022/04/poezio-sticker.png" alt="Sticker picker tool in front with Poezio and Dino in the back." />
</source></source></source></source></video>
Poezio sticker plugin in action!
</figure>
<p>Many of these fixes have been realized by <a href="https://mathieui.net">mathieui</a>, who is by far
the biggest committer on the release, and in general probably the person with
the best understanding of the project. Thanks also to louiz for providing the
infrastructure all this time, and to eijebong, Ge0rG, Kaghav Gururajan,
kaliko, Thomas Hrnciar, jonas’, and southerntofu for the many patches.</p>
<h1 id="archiving">Archiving</h1>
<p>Archive handling (<a href="https://xmpp.org/extensions/xep-0313.html">MAM</a>) was already in the previous release, but
has been reworked and should now be more reliable.</p>
<p>When opening a tab, Poezio will fetch 2 screen pages worth of messages if it
has no logs for this tab. Archives are automatically stored locally if
configured (default), in which case they won’t be re-downloaded but read from
the local copy directly the next time they’re requested.</p>
<p>To read older chat messages in a tab, just scroll up with <code>PageUp</code> and Poezio
will fetch more automatically if it needs to.</p>
<p>This is configurable with options that have been introduced such as
<a href="https://doc.poez.io/configuration.html#term-mam_sync"><code>mam_sync</code></a> or <a href="https://doc.poez.io/configuration.html#term-mam_sync_limit"><code>mam_sync_limit</code></a> to enable/disable
the use of <a href="https://xmpp.org/extensions/xep-0313.html">MAM</a> and how many messages to fetch at most. And
<a href="https://doc.poez.io/configuration.html#term-use_log"><code>use_log</code></a> also configures the fact that archives are stored
locally.</p>
<p>Some work around storing message IDs – that our log format doesn’t do – will
be needed in the future to allow for easier message deduplication.</p>
<h1 id="end-to-end-encryption">End-to-End Encryption</h1>
<p>The Poezio <code>E2EEPlugin</code> API has been improved to accommodate changes in
poezio-omemo, slixmpp-omemo and changes of the OMEMO backend library. Two
plugins which are also seeing changes!</p>
<p>Heartbeats are now supported. Heartbeats are meta-messages which transfer only
cryptographic key material (nothing else) and are used to strengthen OMEMO’s
forward secrecy. This is particularly relevant on clients like Poezio that can
stay running in the back for some time, receiving messages without replying.</p>
<p>Some other changes include colored fingerprints using the <a href="https://xmpp.org/extensions/xep-0392.html">Consistent Color
Generation</a> document – such as specified in the current (0.8)
<a href="https://xmpp.org/extensions/xep-0384.html">OMEMO</a> spec – and sending encrypted media (aesgcm URIs).</p>
<p>What hasn’t changed is that this plugin lacks a UI and trust management.
Hopefully this should come soon, with a little motivation to do UI work.</p>
<h1 id="what-comes-next">What comes next</h1>
<p>All in all, there aren’t (m)any revolutionary changes, but with these releases
come many fixes for paper cuts that hopefully make users happier. This makes
me think that even though Poezio is far from being perfect, there doesn’t seem
to be many important things missing.</p>
<p>There are however changes that would require a lot of refactoring, such as a
multi-account feature, or easier maintenance in general.</p>
<p>We have decided to start migrating Poezio to Rust, in part to be able to
refactor the project more easily, and also because it’s a language we’ve come
to appreciate over the years with experience in other projects, and more
specifically with <a href="https://xmpp.rs">xmpp-rs</a>, an XMPP library in Rust.</p>
<p>All of this will happen right after the release, and we invite interested
people to join the effort!</p>
<p>P.S.: I am looking for poezio screenshots with various setups to display in
public places, under a free license. Please send me your screenshots in
relatively high quality at <code>blog</code> <code>at</code> <code>bouah.net</code>. And don’t forget to ask
pixels appearing on the image for permission!</p>
<div class="footnotes">
<hr />
<ol>
<li id="fn:1">
<p><em>TODO: write about this.</em> A TL;DR would certainly be “abolish intellectual
property, and private property in general”. <a href="https://bouah.net/index.xml#fnref:1" class="footnote-backref">↩︎</a></p>
</li>
<li id="fn:2">
<p>When they don’t decide to ignore it and give us the finger. <a href="https://bouah.net/index.xml#fnref:2" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</div>pep. (blog@bouah.net)https://bouah.net/Jabber.org Notices: IPv6 Outagetag:jabber.org,262021-09-22T00:00:00+00:00We are aware that there are currently issues accessing the jabber.org service using IPv6. This appears to be a routing problem that we are investigating.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Migration Updatetag:jabber.org,252020-09-25T00:00:00+00:00This morning's migration of the conference.jabber.org groupchat service was a success. We are now planning the migration of end-user accounts and we will post again when we are ready to complete that task.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Groupchat Migrationtag:jabber.org,242020-09-22T00:00:00+00:00This Friday, 2020-09-25, starting around 14:30 UTC, your admin team plans to migrate the conference.jabber.org groupchat service to a new machine and server software. If all goes well the downtime will be limited to ~30 minutes or less. Please note that this will not affect one-to-one chats, only groupchat rooms. Thanks for your patience.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Back in Businesstag:jabber.org,232020-08-11T00:00:00+00:00Quick update: we're back online!Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Data Center Outagetag:jabber.org,222020-08-11T00:00:00+00:00Because of a major Internet outage caused by severe weather in the midwestern U.S., the data center that hosts the Jabber.org messaging service is currently offline. We'll post further details as soon as possible.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Server Software Migrationtag:jabber.org,212020-05-27T00:00:00+00:00After many fine years of running Isode's M-Link server software, the jabber.org admin team is currently working to migrate to the open-source Prosody server. Although we will strive to make this transition as seamless as possible, performance might suffer temporarily as we run migration scripts and the like. We apologize for any inconvenience.Jabber.org Noticeshttp://www.jabber.org/notices.htmlyaxim: yaxim 0.9.9 - FOSDEM Editionhttp://yaxim.org/blog/2020/01/31/yaxim-0-dot-9-9-fosdem-edition2020-01-31T16:04:00+00:00<p>We are proud to present to you yaxim version 0.9.9 “FOSDEM 2020 Edition”. Many
things have changed under the hood (reliable messaging with MAM and Push, new
UI with runtime permissions), and some exciting new features like even easier
onboarding, service browsing and
<a href="http://yaxim.org/blog/2019/04/01/yaxim-enters-the-matrix/">Matrix support</a>. Taken together,
yaxim now fulfills the <strong>Core IM</strong> and the <strong>Advanced Mobile</strong> profiles of the
<a href="https://xmpp.org/extensions/xep-0423.html">XMPP Compliance Suite 2020</a>.</p>
<p><img src="http://yaxim.org/images/yaxim-0.9.9-fosdem.png" alt="yaxim 0.9.9 screenshot" /></p>
<h2>Material Design</h2>
<p>Starting with this version, yaxim follows Google’s “Material Design” style.
To comply with last year’s strictened
<a href="https://developer.android.com/distribute/best-practices/develop/target-sdk">Google Play publishing requirements</a>,
we had to replace the deprecated
<a href="https://github.com/JakeWharton/ActionBarSherlock">ActionBarSherlock</a> library
with Google’s own
<a href="https://developer.android.com/jetpack/androidx/releases/appcompat">appcompat</a>,
which provides the Material style.</p>
<p>This also means that yaxim now requires at least an Android 4.0 device. As 4.0
was released in 2011, this only affects a single-digit number of devices.
Users with a ten years old phone need to stay with older yaxim versions, which
run on Android 2.3+.</p>
<p>Furthermore, on Android 6+ devices, the user will be asked to grant permission
at the moment when they are actually needed (i.e. when sharing a file or
taking a photo).</p>
<p><img src="http://yaxim.org/images/yaxim-0.9.9-runtime-permissions.png" alt="runtime permissions screenshot" /></p>
<p>On Android 8+, the new
<a href="https://medium.com/exploring-android/exploring-android-o-notification-channels-94cd274f604c">notification channels</a>
are used by yaxim. A new channel will be created for each contact with a
custom ringtone. Once you receive a message from such a contact, you need to
use the Android notification settings to change the ringtone, though.</p>
<h2>Even Easier Easy Onboarding</h2>
<p>yaxim 0.9 introduced <a href="http://yaxim.org/blog/2017/01/31/yaxim-0-dot-9-security-easy-xmpp/">Easy XMPP</a>,
using the purely client-side <a href="http://xmpp.org/extensions/xep-0379.html">XEP-0379: Pre-Authenticated Roster Subscription</a>,
which required a server with active In-Band Registration.</p>
<p>The new <a href="http://xmpp.org/extensions/xep-0401.html">XEP-0401: Easy User Onboarding</a> allows you to invite new users to
your server without <a href="http://yaxim.org/blog/2017/12/22/spam-reduction-on-yax-dot-im/">being abused by spammers</a>.</p>
<p>Here, you can see a
<a href="https://lab.louiz.org/poezio/poezio/merge_requests/62">poezio</a> user on a
<a href="https://modules.prosody.im/mod_easy_invite.html">prosody</a> server creating an
invitation that is used by yaxim to register and auto-add the inviter:</p>
<p><video width="1280" controls="controls" height="720"><source src="http://yaxim.org/images/poezio-yaxim-invitation.mp4" type="video/mp4; codecs="avc1.42e01e, mp4a.40.2""></source></video></p>
<p>The invitation page in the example is making use of
<a href="https://developer.android.com/google/play/installreferrer">Google Play Install Referrers</a>
to let the newly installed yaxim know the inviter’s address, which has a
privacy impact, and therefore is not rolled out to the official landing page
yet.</p>
<h2>Chat Rooms</h2>
<p>There is a new view of your (bookmarked) rooms and a browser of public rooms
powered by <a href="https://search.jabber.network/">search.jabber.network</a>.</p>
<p><img src="http://yaxim.org/images/yaxim-0.9.9-rooms.png" alt="room search screenshot" /></p>
<p>Your nickname (“display name”) is now synchronized to the server using
<a href="http://xmpp.org/extensions/xep-0172.html">XEP-0172: User Nickname</a>, and you can change it in the account settings.</p>
<h2>Service Discovery and Matrix Support</h2>
<p>The room browser can also be used to discover services by entering a valid
XMPP address into the search field:</p>
<p><img src="http://yaxim.org/images/yaxim-0.9.9-prosody.im.png" alt="prosody.im search screenshot" /></p>
<p><img src="http://yaxim.org/images/yaxim-0.9.9-prosody.im-browser.png" alt="prosody.im browser screenshot" /></p>
<p><img src="http://yaxim.org/images/yaxim-0.9.9-prosody.im-browser-conference.png" alt="prosody.im rooms screenshot" /></p>
<p>This is not limited to servers and rooms, you can also search for users, chat
with them and add them to your contact list:</p>
<p><img src="http://yaxim.org/images/yaxim-0.9.9-ge0rg.png" alt="ge0rg search screenshot" /></p>
<p>While initially introduced as an
<a href="http://yaxim.org/blog/2019/04/01/yaxim-enters-the-matrix/">April Fools’ Day joke</a>,
Matrix support (using the
<a href="https://github.com/matrix-org/matrix-bifrost/">Bifröst bridge</a> is now
actually integrated into yaxim, using the official bridge on <code>matrix.org</code>,
which has also been made ready for FOSDEM 2020.</p>
<h2>Reliable Messaging</h2>
<p>For users who are using yaxim in parallel to another client, the new support
for <a href="http://xmpp.org/extensions/xep-0313.html">XEP-0313: Message Archive Management</a> (MAM) is good news. When
connecting to the server, yaxim will now activate MAM and request all messages
since the last synchronization. This will ensure that yaxim receives all
messages which already were delivered to the other client.</p>
<p>Furthermore, when installed on devices with Google Play Services, yaxim will
register for <a href="http://xmpp.org/extensions/xep-0357.html">XEP-0357: Push Notifications</a> via the <code>push.yax.im</code> server.
This will ensure that the app is woken up from deep sleep or launched when
somebody sends you a new message.</p>
<p>These important changes are also reflected in the <a href="http://yaxim.org/privacy/">app privacy policy</a>.</p>
<h2>Under the Hood Changes</h2>
<p>The internal chat message database has been optimized by adding database
indexes for all frequent operations, making yaxim much faster at loading chat
windows with long histories.</p>
<p>Furthermore, yaxim was upgraded from the ancient Smack 3 to the
<a href="https://download.igniterealtime.org/smack/docs/4.3.4/changelog.html">Smack 4.3.x</a>
XMPP library.</p>
<h2>Road to 1.0</h2>
<p>This release brings significant changes, and we had hoped to be able to
finalize even more to make a glamorous and exciting 1.0 release for the
<a href="http://yaxim.org/blog/2019/08/23/happy-birthday/">10 years anniversary</a>. However, the current
code base brings some major improvements for reliability and usability and we
did not want to hold them back even further.</p>
<p>More work is needed on the contacts view, to allow sorting by conversation age
and to quickly search your contacts. Furthermore, the creation of rooms and
inviting your friends into them need to be integrated.</p>
<p>MAM was long overdue, and for now only your private messages are queried for.
Room history is still obtained using the legacy mechanism, meaning that
sometimes, you might miss out on parts of room history.</p>
<p>The embedded image view does not have proper caching, and it will attempt to
load any attachment, regardless its size and whether it can be displayed in
yaxim. This needs to be restructured in a way that limits downloads to actual
image files of a certain maximum size.</p>yaximhttp://yaxim.org/Maxime Buquet: Sprint in the cold northhttps://bouah.net/2019/10/sprint-in-the-cold-north/2019-10-03T08:01:38+00:00<p>Another episode of the XMPP sprints series happened this weekend close to
Stockholm in the Nacka prefecture, in a house we rented. Significant
improvements to the sprint infra this time are sauna and crêpes!</p>
<p>We worked together on improving a new groupchat bookmarks specification, file
transfer interoperability issues, and a future landing page for new XMPP
users! As usual, every developer meetup comes up with its share of bug fixes,
new ideas, and improvements.</p>
<p><img src="https://bouah.net/../stockholm.jpg" alt="Stockholm scenery" /></p>
<h3 id="groupchat-bookmarks-bookmarks-2">Groupchat Bookmarks (Bookmarks 2)</h3>
<p>Last year, Dave Cridland and JC Brand submitted a new specification titled
<a href="https://xmpp.org/extensions/xep-0402.html">“Bookmarks 2 (This time it’s Serious)”</a>. This XEP didn’t get
much attention in the community until this weekend.</p>
<p>As mentioned in a <a href="https://bouah.net/2018/08/cambridge-xmpp-sprint/">previous article</a>, there are multiple
specifications for bookmarks in XMPP, one using the <a href="https://xmpp.org/extensions/xep-0049.html">Private XML
storage</a>, and another one using <a href="https://xmpp.org/extensions/xep-0048.html">PEP as
storage</a>. Not so long after the Cambridge sprint last year,
Daniel submitted a <a href="https://xmpp.org/extensions/xep-0411.html">conversion XEP</a> to facilitate client
behaviour and thus user experience.</p>
<p>This new specification also uses PEP as storage but it brings a few
improvements to the table. It splits updates to the bookmark storage into per
entry operations instead of updating the whole storage at once. This allows
for finer grained handling in clients and prevents some race conditions.</p>
<p>The XEP came up with its share of challenges that some of us attempted to fix
in a <a href="https://github.com/xsf/xeps/pull/835">pull request</a> that has been submitted and is now
awaiting feedback from the authors.</p>
<p><a href="https://xmpp.org/extensions/xep-0402.html">Bookmarks 2</a> is now implemented in at least 5 clients,
(<a href="https://github.com/siacs/Conversations/tree/bookmarks2">Conversations</a>, <a href="https://github.com/dino/dino/commit/74c29d4df19f97b9b67bbc3c1a963a8729be69fd">Dino</a>,
<a href="https://dev.gajim.org/gajim/gajim/commit/3d381a9863679ea97a0f33a5f6dbd2e9ee790c9c">Gajim</a>, <a href="https://github.com/movim/movim/commit/2b32cde26c27417d075f7696ee04da94e5df3df3">Movim</a>, <a href="https://github.com/HaikuArchives/Renga/commit/d6cbfe4ad90d860c1af234219af5bd0931c4aba5">Renga</a>, and some
initial work in poezio), but will not be used as long as the feature is not
advertised by the server. A new <a href="https://modules.prosody.im/mod_bookmarks2.html">prosody module</a> is also
available for adventurous services operators.</p>
<figure>
<video controls="true">
<source src="../bookmarks-sync.mp4" type="video/mp4">
</source></video>
Bookmarks synchronisation
</figure>
<h3 id="new-landing-page">New landing page</h3>
<p>Roel and I worked on an idea that came up at the UX sprint in Brussels in
January to have a landing page for new users. This page would recommend a
specific server depending on different factors that would be gathered
automatically for the most part (if not all). This is more or less similar to
other portals like <a href="https://joinmastodon.org">joinmastodon</a>, or <a href="https://nextcloud.com/signup">nextcloud sign-up
process</a>.</p>
<p>Building up the website isn’t the hardest part. What is hard is finding ways
to convey to the user what “federation” or “public network” mean. Roel teaches
in Interaction Design and was a great help over the weekend. We came up with a
narrative for the project and a sketch for a sign-in flow.</p>
<p>The project is far from being over, this is only the tip of the iceberg. Lots
of work needs to be done with the “stakeholders”, that is mainly users and
server operators.</p>
<p>To know what server to recommend to users we first need to get a list of
servers we are confident about and willing to recommend. This would mandate
discussing the issue with server operators to get feedback on a required
“feature set” and policies. All this would then be fed into usability testing
sessions for users to validate all of it. After that, we would need lots of
promotion around it and that’s also going to take a significant amount of
effort.</p>
<p>While I am excited about all this I don’t think diving in head first is a
good strategy and I would rather take it slow.</p>
<h3 id="and-more">And more</h3>
<p>Pulkomando has been working on implementing IBR support in <a href="https://github.com/HaikuArchives/Renga">Renga</a>, and
reported with Link Mauve issues about server implementations that weren’t
respecting the specification. The issue in prosody has been fixed and one has
been opened <a href="https://github.com/processone/ejabberd/issues/3045">for ejabberd</a>.</p>
<p>Larma tackled issues with bot bridging where users of bridged networks are
displayed as talking through the bot. This happens for example with
<a href="https://github.com/42wim/matterbridge">matterbridge</a>. This could be improved UI-wise but requires
some groundwork and spawned <a href="https://mail.jabber.org/pipermail/standards/2019-September/036495.html">discussions</a> about the groupchat
protocol in some specific cases.</p>
<p>Fiaxh spent some time improving the empty placeholder for no opened
conversations in Dino. Here is a preview:</p>
<p><img src="https://bouah.net/../dino-no-conversations-placeholder.png" alt="Dino no-conversations placeholder screen" /></p>
<p>Other people worked on Jingle File Transfer interoperability. They narrowed
down the cause of a somewhat old issue <a href="https://dev.gajim.org/gajim/gajim/issues/9692">in gajim</a>, discovered an
issue with the epoll backend <a href="https://issues.prosody.im/1438">in prosody</a>, and another <a href="https://github.com/dino/dino/commit/5d65f047d0fd1a1ed4a3bbe076d5cb4df76e7d5f">in
dino</a>.</p>
<h3 id="you-can-contribute-too">You can contribute too!</h3>
<p>I would like to take this opportunity to remind you that you can also
<a href="https://wiki.xmpp.org/web/Sprints#Organizing_an_event">contribute</a> to sprints! If you are a developer, a
translator, working on documentation, or in any other way contributing to an
XMPP implementation, we encourage you to find 2-3 other people close to you
and organize a sprint!</p>
<p><em>TODO: come up with a platform to show interest close to you.</em></p>
<p>The <a href="https://xmpp.org">XMPP Standards Foundation</a> (specifically the <a href="https://xmpp.org/about/xsf/scam-team">SCAM</a> team) will
be happy to help you get it all sorted, and also provide some budget for your
event if necessary. Please do <a href="xmpp:xmpp-sprint@chat.cluxia.eu?join">contact us</a>!</p>pep. (blog@bouah.net)https://bouah.net/yaxim: yaxim Enters the Matrixhttp://yaxim.org/blog/2019/04/01/yaxim-enters-the-matrix2019-04-01T11:21:56+00:00<p><img src="http://yaxim.org/images/yaxim-matrix-crop.png" alt="yaxim enters the Matrix" /></p>
<p>Starting today, yaxim is switching its protocol foundation from the
deprecated exchange of clumsy and inefficient XML streams to the modern
and elegant combination of HTTP and JSON/REST, the Matrix protocol.</p>
<h2>Protocol History and Comparison</h2>
<p>The XMPP protocol
<a href="https://xmpp.org/2019/01/the-xmpp-newsletter-4-january-2019/">celebrated its 20th birthday early this year</a>.
The Matrix followed two months later and is
<a href="https://m.imdb.com/title/tt0133093/releaseinfo">currently in the middle of its own celebration</a>.
Some fifteen years later, a small company decided to use the strong brand
value of the Matrix name to <a href="https://matrix.org/blog/2014/09/03/hello-world/">reinvent XMPP with a modern facade</a>.</p>
<p>Evil voices claim that MATRIX stands for
<a href="https://news.ycombinator.com/item?id=19421917">Monolithic, Awefully Trendy Re-Implementation of XMPP</a>,
and there is some truth to this, if we compare the words of the respective
founding fathers:</p>
<blockquote><p>Jabber is a new project I recently started to create a complete open-source platform for Instant Messaging with transparent communication to other IM systems(ICQ, AIM, etc).</p><footer><strong>Jeremie Miller, 1999 on Slashdot,</strong> <cite><a href="https://slashdot.org/story/99/01/04/1621211/open-real-time-messaging-system">slashdot.org/story/99/01/04/…</a></cite></footer></blockquote>
<blockquote><p>I think they missed the bit where Matrix is called Matrix because it bridges (matrixes) the existing networks (Slack, IRC, Telegram, Discord, XMPP, etc) in, rather than needing to convince everyone to join.</p><footer><strong>Matthew Hodgson, 2019 on HN,</strong> <cite><a href="https://news.ycombinator.com/item?id=19216252">news.ycombinator.com/…</a></cite></footer></blockquote>
<p>However, the Matrix protocol has outgrown Vector Ltd, there is a
<a href="https://matrix.org/docs/spec/">version <del>1.0</del> 0.4 specification</a>,
and even a
<a href="https://matrix.org/blog/2018/10/29/introducing-the-matrix-org-foundation-part-1-of-2/">Matrix.org Foundation</a>.</p>
<p>This is much superior to XMPP, which is based on some
<a href="https://xmpp.org/rfcs/rfc6120.html">arcane</a>
<a href="https://xmpp.org/rfcs/rfc6121.html">specifications</a> maintained by
<a href="https://mailarchive.ietf.org/arch/msg/ietf/CpSAlzZ8848uCZuB9lFQjOFwyrE">a bunch of grey beards</a>,
plus a separate
<a href="https://xmpp.org/about/xmpp-standards-foundation.html">organisation</a>
for protocol extensions.
In addition, Matrix supports working over
<a href="https://matrix.org/blog/2019/03/12/breaking-the-100bps-barrier-with-matrix-meshsim-coap-proxy/">100 bits per second connections</a>,
while XMPP only gives you <a href="https://xmpp.org/extensions/xep-0365.html#intro">75 bps</a>.</p>
<p>The monolithic protocol is another huge advantage compared to
<a href="https://xmpp.org/extensions/">many hundreds of optional extensions</a>, and the
rumors of Matrix fragmentation are <a href="https://arewereadyyet.com/">a blatant lie</a>.</p>
<h2>Enter the Matrix</h2>
<p>Therefore, the yaxim developers have decided to take the blue pill, to
move forward, and to use the better and more modern and mobile friendly
polling based HTTP scheme. Starting with the current
<a href="https://play.google.com/apps/testing/org.yaxim.androidclient">beta release</a>,
you can enter Matrix chat rooms and talk to users on the Matrix.</p>
<p><video width="560" controls="controls" height="996"><source src="http://yaxim.org/images/yaxim-matrix.mp4" type="video/mp4; codecs="avc1.42e01e, mp4a.40.2""></source></video></p>
<p>The legacy XMPP protocol is remaining in the release for now, but will
be removed in the near future to reduce the bloat of yaxim. You will be
able to migrate your contacts to your new Matrix account by using the
<a href="https://github.com/matrix-org/matrix-bifrost">Bifröst bridge</a>.</p>
<p>In parallel, we are working on switching
<a href="https://yaxim.org/yax.im/">yax.im</a> from prosody to Synapse. The data
transition is already completed, and we are only waiting for the data
center provider to add 512GB of RAM to the machine before we can switch
over.</p>yaximhttp://yaxim.org/ejabberd: ejabberd 14.12https://www.ejabberd.im/24642 at https://www.ejabberd.im2014-12-17T14:36:00+00:00<p>We're pleased to announce the last release of ejabberd for 2014! Thanks to contributors, this release includes great improvements and opens road to 2015.</p>
<p><a href="http://blog.process-one.net/ejabberd-community-14-12/">ejabberd Community 14.12</a> includes many bugfixes, and a few new features:</p>
<ul>
<li>New module mod_client_state implements <a href="http://xmpp.org/extensions/xep-0352.html" rel="nofollow">XEP-0352: Client State Indication</a></li>
<li>New module mod_fail2ban to ban IPs that show malicious signs</li>
<li>New option store_empty_body in mod_offline</li>
</ul><p><a href="https://www.ejabberd.im/ejabberd-14.12" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/ejabberd: ejabberd 14.05https://www.ejabberd.im/19101 at https://www.ejabberd.im2014-05-13T14:36:11+00:00<p>Full announcement: <a href="http://blog.process-one.net/ejabberd-community-14-05/">ejabberd Community 14.05: the culmination of a year of change</a></p>
<p>ejabberd Community 14.05 has great new features, several improvements and many bugfixes over the previous 13.12 release:</p>
<p>ejabberd now includes support for:<br />
- <a href="http://xmpp.org/extensions/xep-0198.html" target="_blank" rel="nofollow">XEP-0198</a>: Stream Management (<a href="https://support.process-one.net/browse/EJAB-532" target="_blank" rel="nofollow">EJAB-532</a>)</p>
<p><a href="https://www.ejabberd.im/ejabberd-14.05" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/Jabber.org Notices: OpenSSL Upgradetag:jabber.org,202014-04-08T00:00:00+00:00In response to the Heartbleed bug, upgraded the version of OpenSSL used at jabber.org to help prevent information leakage.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Cipher Suite Upgrades for Improved Securitytag:jabber.org,192014-03-19T00:00:00+00:00In order to improve the security of your connections to the jabber.org IM service, we have upgraded the list of cipher suites that we support for Transport Layer Security (TLS). Specifically, we have removed a number of weak cipher suites that provide low levels of protection. As a result of these changes, it is possible that some client software will not able to connect (e.g., very old clients, and software exported to certain countries). Please post to the juser@jabber.org discussion list if you experience difficulties.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Distributed Denial of Service Attackstag:jabber.org,182014-02-06T00:00:00+00:00The jabber.org IM service has been under attack over the last several days. As a result, your connectivity might be intermittent and message delivery might be slow. In addition, we have temporarily blocked communication with a number of other XMPP servers on the Internet to protect the jabber.org server. Please see our post at http://mail.jabber.org/pipermail/juser/2014-February/007048.html for further details.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: First Encryption Test Daytag:jabber.org,172014-01-03T00:00:00+00:00On January 4, we will perform a test of requiring encrypted connections to other XMPP services on the Internet. During this test, it is possible that you will not be able to chat with friends at other domains, including Google Talk. Please visit http://www.jabber.org/security.html for details.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Security Plantag:jabber.org,162013-12-18T00:00:00+00:00We are planning a series of security improvements, including mandated encryption of client connections. Please visit http://www.jabber.org/security.html for details.Jabber.org Noticeshttp://www.jabber.org/notices.htmlejabberd: ejabberd 13.12https://www.ejabberd.im/15824 at https://www.ejabberd.im2013-12-16T16:32:01+00:00<p>
We are pleased to announce a new stable release of ejabberd, ejabberd Community 13.12.
</p>
<p>
It has several bugfixes over the previous 13.10 release, and a few new features:</p>
<ul>
<li>
New OpenSSL ciphers option in c2s, s2s and s2s_out
</li><li>
mod_roster: new access rule to restrict roster modificartion
</li><li>
mod_pubsub: support for data migration from mnesia to odbc
</li><li>
ejabberd_xmlrpc included
</li></ul>
<p>
As usual, the release is tagged in the Git source code repository on <a href="https://github.com/processone/ejabberd" rel="nofollow">github</a>
</p>
<p><a href="https://www.ejabberd.im/ejabberd-13.12" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/ejabberd: ejabberd 13.10https://www.ejabberd.im/15213 at https://www.ejabberd.im2013-10-09T20:44:35+00:00<p>We are pleased to announce a new stable release of ejabberd, ejabberd Community 13.10.</p>
<p>It has some changes, several improvements and many bugfixes over the previous (not officially announced) 13.06. It is also the first official stable release of ejabberd Community after ejabberd 2.1.13. You are now pleased to use ejabberd community as reference for stable releases of ejabberd, from the master branch. ejabberd 2.1.x support is discontinued.</p>
<p>The most noticeable changes since 13.03-beta and 13.06 are:</p>
<p><a href="https://www.ejabberd.im/ejabberd-13.10" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/Jabber.org Notices: Where We Standtag:jabber.org,152013-09-24T00:00:00+00:00We seem to be over the worst of the upgrade issues now. Reliability appears better than before, we are supporting nearly twice as many concurrent users, and many new features have been added. Please let us know if you notice any odd behaviors, and thanks for bearing with us.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Migration Completetag:jabber.org,142013-08-20T00:00:00+00:00The server migration was completed earlier today. Expect some residual instability as we iron out various wrinkles. Many thanks to the Isode team for all their hard work on the upgrade! And thanks to the users of jabber.org for your patience. :-)Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Server Migrationtag:jabber.org,132013-08-18T00:00:00+00:00On Tuesday, August 20, the jabber.org IM service will be migrated to a new server machine, generously donated by Isode. If all goes well, we will have a few hours of downtime. If not all goes well, we will most likely revert to the current machine and attempt the migration on another day. Please follow us on Identi.ca or Twitter for real-time updates.Jabber.org Noticeshttp://www.jabber.org/notices.htmlejabberd: ejabberd 2.1.13 and 13.06https://www.ejabberd.im/14587 at https://www.ejabberd.im2013-07-03T08:49:42+00:00<p>
We are pleased to announce the bugfix release ejabberd 2.1.13.<br />
It includes a few bugfixes over 2.1.12:</p>
<ul>
<li>Compilation: Detect correctly newer Darwin versions (EJAB-1594)
</li><li>Guide: ejabberd_service expects a shaper_rule, not a shaper
</li><li>MUC: Handle multiple < and > in mod_muc_log plaintext mode (EJAB-1640)
</li><li>MUC: Handle ~ control sequence in text of mod_muc_log (EJAB-1639)
</li><li>MUC: list_to_integer/2 only works in OTP R14 and newer
</li><li>Pubsub: access_createnode acl also applies to auto created nodes
</li><li>Web: Normalize HTTP path<br />
</li></ul><p><a href="https://www.ejabberd.im/ejabberd-2.1.13--13.06" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/Jabber.org Notices: IPv6 Restoredtag:jabber.org,122013-06-25T00:00:00+00:00IPv6 support was restored today around 07:00 local time (U.S. Central Time).Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Account Registration Disabled Temporarilytag:jabber.org,112013-06-25T00:00:00+00:00We have temporarily disabled account registration at the jabber.org IM service while we migrate the account database to a new machine. We will enable the web registration form again as soon as possible! In the meantime, you can create an account at any other public XMPP service.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: IPv6 Outagetag:jabber.org,102013-06-24T00:00:00+00:00Our hosting provider is experiencing an outage with IPv6 support. No ETA for a fix. We'll post again when we know more.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Corrected Security Certificatetag:jabber.org,92013-03-05T00:00:00+00:00The security certificate that we installed in December used a SHA-256 fingerprint, which theoretically is more secure but which some existing software can't handle yet. Therefore we have installed a corrected certificate using a SHA-1 fingerprint. If you've been receiving a certificate warning for the last few months, you shouldn't receive those anymore.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJack Moffitt: Digital Audio and Sampling Explainedtag:metajack.im:/2013/02/26/digital-audio-and-sampling-explained/2013-02-26T00:00:00+00:00<p><a href="http://xiph.org">Xiph.org</a> has just posted the second in its
<a href="http://video.xiph.org">series of videos on digital media concepts and techniques</a>. It’s
packed with information and demonstrations, and you’re sure to learn a huge
amount. As an added bonus, it’s hosted by Monty, the creator of Ogg Vorbis
(and many other amazing things). You couldn’t ask for a more qualified
teacher.</p>
<p>Watch below, or <a href="http://video.xiph.org/vid2.shtml">on Xiph.org</a>.</p>
<video width="640" controls="" height="360">
<source src="http://downloads.xiph.org/video/Digital_Show_and_Tell-360p.ogv" type="video/ogg">
<source src="http://downloads.xiph.org/video/Digital_Show_and_Tell-360p.webm" type="video/webm">
</source></source></video>
<p>There is also a <a href="https://wiki.xiph.org/Digital_Show_and_Tell/Episode_02">detailed write up</a>.</p>Jack Moffitt (jack@metajack.im)https://metajack.im/Jabber.org Notices: Non-ASCII Characters Disallowed in New Accountstag:jabber.org,82013-01-15T00:00:00+00:00In response to several recent instances of abuse, we have disallowed non-ASCII characters in new accounts registered at the jabber.org IM service. This policy does not apply to existing accounts.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Registration Re-Openedtag:jabber.org,72012-10-09T00:00:00+00:00We have re-opened account registration at https://register.jabber.org/Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Updated Service Policytag:jabber.org,62012-09-25T00:00:00+00:00Version 1.1 of the jabber.org service policy is now in effect.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Disabled Accountstag:jabber.org,52012-08-22T00:00:00+00:00Recently the jabber.org IM service has been the victim of massive and repeated denial of service attacks. The admin team strongly suspects that these attacks are related to the widespread and abusive use of jabber.org accounts by "customers" of KBot, a program for cheating at the DarkOrbit game. Even if the DoS attacks prove to be unrelated to KBot, the admin team has decided that use of jabber.org to communicate with KBot violates the jabber.org service policy. Although we are in the process of updating the service policy to more clearly define how this kind of usage is abusive, the dire nature of the current threat has forced us to take more immediate action. Therefore, we are disabling the accounts of every jabber.org user who communicates with KBot, and we have disabled new account registration to prevent further communication between jabber.org users and KBot. We do not take this step lightly, but given the current circumstances we have no other choice.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Account Registration Disabledtag:jabber.org,42012-08-22T00:00:00+00:00As part of our defensive measures against repeated DoS attacks, we have disabled new account registration until further notice.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Another Denial of Servicetag:jabber.org,32012-08-21T00:00:00+00:00The previous DDoS attack has started again. As before, fallback measures are in place, but if your IM client doesn't handle DNS SRV records correctly then you might not be able to connect.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Proposed Changes to the Service Policytag:jabber.org,22012-08-20T00:00:00+00:00We have posted proposed changes to the policy that governs use of the jabber.org IM service. Details, links, and instructions for providing feedback can be found in our post to the juser@jabber.org email list, see http://mail.jabber.org/pipermail/juser/2012-August/006869.html.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Service Restoredtag:jabber.org,12012-08-15T00:00:00+00:00We were able to completely restore service today. However, it is quite possible that the denial of service attack could be launched again at any time. If you were unable to connect during the outage, we recommend that you consider using a different IM client or reporting a bug to the developers of the IM client you use, since standard DNS fallback and XMPP reconnection methods should have been sufficient to keep you online after the first few hours of the attack.Jabber.org Noticeshttp://www.jabber.org/notices.htmlJabber.org Notices: Denial of Servicetag:jabber.org,02012-08-12T00:00:00+00:00Today we have experienced a distributed denial of service attack against the jabber.org IM service. Although the web server and email server are running fine, we have been forced to take the IM service offline until your (volunteer!) admin team has time to determine appropriate countermeasures. UPDATE 2012-08-12: We've made some DNS fixes and some clients are now able to connect.Jabber.org Noticeshttp://www.jabber.org/notices.htmlejabberd: ejabberd 2.1.10, 3.0.0-alpha-5 and exmpp 0.9.9https://www.ejabberd.im/5113 at https://www.ejabberd.im2011-12-27T19:38:54+00:00<p>ejabberd 2.1.10, 3.0.0-alpha-5 and exmpp 0.9.9 have been released, after several months of development. They contain a few bugfixes.</p>
<h2>ejabberd 2.1.10</h2>
<p>These are the major bugfixes:</p>
<ul>
<li>Erlang/OTP compatibility
<ul>
<li>Support Erlang/OTP R15B regexp and drivers (<a href="https://support.process-one.net/browse/EJAB-1521" rel="nofollow">EJAB-1521</a>)
</li><li>Fix modules update in R14B04 and higher
</li><li>Fix modules update of stripped beams (<a href="https://support.process-one.net/browse/EJAB-1520" rel="nofollow">EJAB-1520</a>)
</li></ul>
</li>
<li>XMPP Core
<ul>
</ul></li></ul><p><a href="https://www.ejabberd.im/ejabberd-2.1.10" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/ejabberd: ejabberd 2.1.9, 3.0.0-alpha-4 and exmpp 0.9.8https://www.ejabberd.im/4991 at https://www.ejabberd.im2011-10-03T16:04:07+00:00<p>ejabberd 2.1.9, ejabberd 3.0.0-alpha-4, and exmpp 0.9.8 have been released, after several months of development. They contain a lot of bugfixes, improvements and some new features.</p>
<h2>ejabberd 2.1.9</h2>
<p>This release includes a lot of bugfixes and improvements. This is just a short list of them:</p>
<ul>
<li>New SASL SCRAM-SHA-1 authentication mechanism (<a href="https://www.ejabberd.im/https//support.process-one.net/browse/EJAB-1196" rel="nofollow">EJAB-1196</a>)</li>
<li>New option: resource_conflict (<a href="https://support.process-one.net/browse/EJAB-650" rel="nofollow">EJAB-650</a>)</li>
</ul><p><a href="https://www.ejabberd.im/ejabberd-2.1.9" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/ejabberd: ejabberd 2.1.6 - CAPTCHA support, Shared Rosters LDAPhttps://www.ejabberd.im/4442 at https://www.ejabberd.im2010-12-14T11:56:35+00:00<p>ejabberd 2.1.6 has been released, after four months of development. It contains a lot of bugfixes, improvements and some new features.</p>
<p>This is a small list of changes:</p>
<ul>
<li>BOSH: Fix rare loop, support vhosts, allow module restart</li>
<li>Config: Default configuration allows registrations only from localhost</li>
<li>Config: Support to change loglevel per module at runtime</li>
<li>Erlang/OTP: Fix compatibility from R10B-9 to R14B01</li>
<li>ODBC: Compatibility with PostgreSQL 9.0</li>
<li>Privacy lists: Fix to allow block by group and subscription again</li>
</ul><p><a href="https://www.ejabberd.im/ejabberd-2.1.6" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/ejabberd: Happy 8th birthday, ejabberd!https://www.ejabberd.im/4399 at https://www.ejabberd.im2010-11-16T16:34:18+00:00<p>ejabberd gets 8 years old. But no party yet, Yozhik is bugfixing 2.1.6 and testing 3.0.0-alpha-2.</p>
<p></p><center><img src="https://www.ejabberd.im/files/images/hedgehog-keyboard.jpg" /></center><p></p>
<p>The source and more <a href="http://www.fresher.ru/2009/12/25/ezhi-v-fotografiyax/">photographs of hedgehogs pets</a>.</p><p><a href="https://www.ejabberd.im/birthday-8" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/ejabberd: ejabberd and exmpp source code are moved from SVN to Githttps://www.ejabberd.im/3861 at https://www.ejabberd.im2010-02-09T16:15:00+00:00<p>After many months of planning, ejabberd and exmpp have been fully migrated to Git.</p>
<p>During the last 7 years, ejabberd source code was hosted at:</p>
<ul>
<li>CVS at Jabber.Ru
</li><li>CVS at JabberStudio.org
</li><li>SVN at ProcessOne
</li><li>Git preliminarly built with git-svn, at Github
</li></ul>
<p>Starting now, ejabberd source code is natively in Git, and hosted at:</p>
<ul>
<li><a href="https://git.process-one.net/ejabberd" rel="nofollow" title="https://git.process-one.net/ejabberd">https://git.process-one.net/ejabberd</a>
</li><li><a href="http://github.com/processone/ejabberd" rel="nofollow" title="http://github.com/processone/ejabberd">http://github.com/processone/ejabberd</a>
</li></ul>
<p>The minimal instructions to start using it are mentioned in:<br />
<a href="http://www.process-one.net/en/ejabberd/downloads" rel="nofollow" title="http://www.process-one.net/en/ejabberd/downloads">http://www.process-one.net/en/ejabberd/downloads</a></p>
<p><a href="https://www.ejabberd.im/node/3861" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/ejabberd: Happy 7th birthday, ejabberd!https://www.ejabberd.im/3757 at https://www.ejabberd.im2009-11-16T20:32:36+00:00<p>Yes, ejabberd is already 7 years old.</p>
<p>Let's celebrate with a timeline of ejabberd, <a href="http://www.erlang.org/">Erlang/OTP</a>, <a href="http://xmpp.org/">XMPP/Jabber protocol</a>, and <a href="http://tkabber.jabber.ru">Tkabber</a>:
</p><center><img src="https://www.ejabberd.im/files/images/ejabberd-7-birthday/timeline.png" /></center>
<p></p>
<p>If you find any mistake, please comment. I built the graph using <a href="http://www.mediawiki.org/wiki/Extension:EasyTimeline">EasyTimeLine.pl</a>, if you want the datafile, please comment.</p><p><a href="https://www.ejabberd.im/birthday-7" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/ejabberd: Video: 6 years of ejabberd code in 3 minuteshttps://www.ejabberd.im/3286 at https://www.ejabberd.im2008-11-16T12:10:48+00:00<p>To celebrate that ejabberd turns 6 years old, I've prepared a video that shows the history or ejabberd trunk SVN during those years: authors, acknowledgments, type of files, dates and releases. The video was built with <a href="http://vis.cs.ucdavis.edu/~ogawa/codeswarm/">code_swarm</a>.</p>
Download ejabberd-6-years-code.avi (12.5 MB) from:
<ul>
<li><a href="http://rapidshare.com/files/164292935/ejabberd-6-years-code.avi">RapidShare</a>, click in "Free user" button, wait 50 seconds, then click in "Download" big button.</li>
<li><a href="http://ejabberd.jabber.ru/files/download/ejabberd-6-years-code.avi">Jabber.ru direct download</a></li>
</ul>
Notes:
<p><a href="https://www.ejabberd.im/birthday-6" target="_blank">read more</a></p>mfosshttp://www.ejabberd.im/