<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Sockethub]]></title><description><![CDATA[Sockethub is a protocol gateway that lets browser apps talk to IRC, XMPP, feeds, and metadata services through one ActivityStreams 2.0 API.]]></description><link>https://sockethub.org</link><generator>metalsmith-feed</generator><lastBuildDate>Wed, 22 Apr 2026 01:13:13 GMT</lastBuildDate><atom:link href="https://sockethub.org/feed.xml" rel="self" type="application/rss+xml"/><author><![CDATA[Nick Jennings]]></author><item><title><![CDATA[Alpha 12 — Canonical AS2.0 contexts]]></title><description><![CDATA[<p>With the 5.0.0-alpha.12 release, Sockethub&#39;s message envelope is a first-class
<a href="https://www.w3.org/TR/activitystreams-core/">ActivityStreams 2.0</a> and JSON-LD
citizen. Every outgoing and incoming message carries a canonical three-element
<code>@context</code> array identifying the AS2 base vocabulary, the Sockethub gateway
vocabulary, and the specific platform vocabulary in play.</p>
<h2 id="what-changed">What changed</h2>
<p>Before:</p>
<pre><code class="language-json">{
  &quot;context&quot;: &quot;irc&quot;,
  &quot;type&quot;: &quot;send&quot;,
  ...
}
</code></pre>
<p>After:</p>
<pre><code class="language-json">{
  &quot;@context&quot;: [
    &quot;https://www.w3.org/ns/activitystreams&quot;,
    &quot;https://sockethub.org/ns/context/v1.jsonld&quot;,
    &quot;https://sockethub.org/ns/context/platform/irc/v1.jsonld&quot;
  ],
  &quot;type&quot;: &quot;send&quot;,
  ...
}
</code></pre>
<p>The server now routes by resolving the platform context URL in that array, not
by matching a bespoke <code>context</code> string. That unlocks four things:</p>
<ul>
<li><strong>Proper AS2.0 compliance.</strong> Payloads validate against any off-the-shelf
JSON-LD or AS2 tool — no Sockethub-specific reader required.</li>
<li><strong>Deterministic platform resolution.</strong> The platform identity lives in the
context URL itself, not in convention. No more guessing from a short name.</li>
<li><strong>Versioned platform vocabularies.</strong> A platform can ship breaking changes
under <code>/v2.jsonld</code> without forcing every consumer to migrate at once.</li>
<li><strong>A real schema registry.</strong> The server exposes each platform&#39;s schema
metadata (<code>contextUrl</code>, <code>contextVersion</code>, <code>schemaVersion</code>) so clients build
canonical arrays without hardcoding URLs.</li>
</ul>
<h2 id="new-client-apis">New client APIs</h2>
<p>Two additions to <code>@sockethub/client</code> make this easy:</p>
<h3 id="await-scready"><code>await sc.ready()</code></h3>
<p>Waits for the schema registry to finish loading. Messages sent before readiness
are queued and flushed afterward; anything emitted after <code>ready()</code> is
validated immediately on the client.</p>
<pre><code class="language-javascript">const sc = new SockethubClient(socket);
await sc.ready();
</code></pre>
<h3 id="sccontextforplatform"><code>sc.contextFor(platform)</code></h3>
<p>Builds the canonical three-element array from server metadata. Use it instead
of hardcoding URLs:</p>
<pre><code class="language-javascript">sc.socket.emit(&#39;message&#39;, {
  &#39;@context&#39;: sc.contextFor(&#39;irc&#39;),
  type: &#39;send&#39;,
  actor:  { id: &#39;alice@irc.libera.chat&#39;, type: &#39;person&#39; },
  target: { id: &#39;#sockethub@irc.libera.chat&#39;, type: &#39;room&#39; },
  object: { type: &#39;message&#39;, content: &#39;hello&#39; }
});
</code></pre>
<p><code>contextFor()</code> is preferred over hand-writing the array because it derives URLs
from the live schema registry and stays correct across server versions.</p>
<h2 id="why-this-matters">Why this matters</h2>
<p>Sockethub has always carried the spirit of AS2.0, but not always the letter.
Alpha 12 closes that gap. The protocol gateway now speaks a format that any
AS2 consumer can read — which means an ActivityPub inbox, a Fediverse tool, or
anything that knows JSON-LD can parse Sockethub traffic natively.</p>
<p>Upgrade with <code>npm install -g sockethub@alpha</code>.
Full changelog: <a href="https://github.com/sockethub/sockethub/releases/tag/v5.0.0-alpha.12">v5.0.0-alpha.12</a>.</p>
]]></description><guid isPermaLink="false">Alpha 12 — Canonical AS2.0 contexts</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sockethub 5.0.0 alpha releases]]></title><description><![CDATA[<p>Sockethub 5.0.0 has been a multi-year project, and we&#39;ve been quietely releasing alpha builds for testing. These alpha releases have major rewrite and architectural improvements across the board. </p>
<p>Stability has improved a lot and so we&#39;re announcing the alpha releases are available for anyone who&#39;d like to try them out. </p>
<p>We won&#39;t individually announce each alpha release, but will do so once we move to beta. </p>
<p>Some new features include:  </p>
<ul>
<li>Packaging changes, the <code>sockethub</code> package is still the main package, but works as a meta package for a number of packages in the <code>@sockethub</code> namespace. i
e.g. <code>@sockethub/server</code>, <code>@sockethub/client</code>, <code>@sockethub/platform-xmpp</code></li>
<li>Greatly improved unit and integration tests</li>
<li>A New Metadata Platform!</li>
<li>An Examples package</li>
<li>Migrate to BullMQ</li>
<li>Migrate to Bun</li>
<li>Improved documentation</li>
<li>So much more...</li>
</ul>
<p>To try it out, you can run <code>npm install -g sockethub@alpha</code></p>
<p>For a full list of changes, see the <a href="https://github.com/sockethub/sockethub/releases">Sockethub release page</a>.</p>
]]></description><guid isPermaLink="false">Sockethub 5.0.0 alpha releases</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sockethub 4.1.0]]></title><description><![CDATA[<p>Sockethub 4.1.0 has been released! Lots of stability improvements, for a list see the <a href="https://github.com/sockethub/sockethub/releases/tag/v4.1.0">Sockethub release page</a>.</p>
]]></description><guid isPermaLink="false">Sockethub 4.1.0</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Thu, 02 Sep 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sockethub 4.0.1]]></title><description><![CDATA[<p>Sockethub 4.0.1 has been released! This release fixes a few minor issues present in the previous release, for a list of fixes see the <a href="https://github.com/sockethub/sockethub/releases/tag/v4.0.1">Sockethub release page</a>.</p>
]]></description><guid isPermaLink="false">Sockethub 4.0.1</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Sun, 23 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sockethub 4.0.0]]></title><description><![CDATA[<p>Sockethub 4.0.0 has been released! This release has a few major updates to the underlying system, namely switching from <code>node-simple-xmpp</code> to <code>xmpp.js</code>, from <code>Kue</code> to <code>Bull</code> and upgrading to <code>socket.io v4</code>. Additionally, as we performed these significant overhauls of the code, we added more tests and optimizations. This release should be overall a lot faster. For a full list of changes, see the <a href="https://github.com/sockethub/sockethub/releases/tag/v4.0.0">Sockethub release page</a>.</p>
]]></description><guid isPermaLink="false">Sockethub 4.0.0</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Thu, 20 May 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sockethub 3.2.2]]></title><description><![CDATA[<p>Sockethub 3.2.2 has been released and focuses mainly on stability and bugfixes, highlights include pegging the sockethub.io dependency version to resolve a CORS issues, and a hotfix for the IRC platforms upstream library <code>irc-socket</code> allowing TLS connections. For a full list of changes, see <a href="https://github.com/sockethub/sockethub/releases/tag/v3.2.2">Sockethub release page</a>.</p>
]]></description><guid isPermaLink="false">Sockethub 3.2.2</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Mon, 22 Feb 2021 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sockethub 3.2]]></title><description><![CDATA[<p>Sockethub 3.2 has been released and includes a lot of improvements and work that has progressed throughout the year. The most notable improvement has come with the spawning of new threads for platform modules to help protect against possible platform crashes and memory leaks, which has greatly improved the stability of sockethub core. For a full list of changes, see <a href="https://github.com/sockethub/sockethub/releases/tag/v3.2.0">Sockethub release page</a>.</p>
]]></description><guid isPermaLink="false">Sockethub 3.2</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Sat, 26 Dec 2020 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sockethub 3.x]]></title><description><![CDATA[<p>Sockethub 3.0 has been released and includes a lot of improvements focusing mainly on XMPP and IRC, additionally a ton of internal improvements. Ongoing releases tracked on the <a href="https://github.com/sockethub/sockethub/releases">Github page</a>. </p>
]]></description><guid isPermaLink="false">Sockethub 3.x</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Thu, 26 Sep 2019 00:00:00 GMT</pubDate></item><item><title><![CDATA[Kosmos group chat client]]></title><description><![CDATA[<p>Over the past several months, we&#39;ve been quietly working away at an open-source group chat platform, build upon Sockethub and remoteStorage, and sprinkling of other tools and services. It aims to address the same area as Slack and HipChat, but built in the open, on open protocols (IRC &amp; XMPP) allowing anyone to interface without needing to commit to a solitary platform. Today we met in Berlin and plan for a couple days of hacking and planning for our MVP target which should be coming soon.</p>
<p>I haven&#39;t been announcing every Sockethub release, as they are very frequent and incremental, but be sure to check the github to see the latest activity.</p>
<p>[ <a href="https://kosmos.org">kosmos</a> | <a href="https://github.com/67p/hyperchannel">github.com/67p/hyperchannel</a> | <a href="https://github.com/sockethub/sockethub">github.com/sockethub/sockethub</a>]</p>
]]></description><guid isPermaLink="false">Kosmos group chat client</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Thu, 04 May 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Hackerbeach V milestones v1.0.4]]></title><description><![CDATA[<p>While 2016 was a year of mostly maintenance work, 2017 has started off strong. Meeting up with several of the guys at <a href="https://5apps.com">5apps</a> for <a href="http://hackerbeach.org">Hackerbeach V</a>, we&#39;re working toward building an open-source Slack replacement using unhosted technologies Sockethub and <a href="http://remotestorage.io">remoteStorage</a>. No further details at this time, but we&#39;re close to an MVP. In the meantime, I released Sockethub v1.0.4 and activity should increase as we deploy Sockethub for multi-user use.</p>
<p>[ <a href="https://github.com/sockethub/sockethub/releases/tag/v1.0.4">release v1.0.4</a> ]</p>
]]></description><guid isPermaLink="false">Hackerbeach V milestones v1.0.4</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Mon, 23 Jan 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Version 1.0.0 released]]></title><description><![CDATA[<p>A branch which has been worked on for most of 2015 has been merged to the master branch and released as version 1.0.0. Currently only a couple platforms are fully ported over, but the plan is to continue to make incremental improvements. It&#39;s more stable and lightweight than the 0.x releases.</p>
<p>[ <a href="https://github.com/sockethub/sockethub/releases/tag/v1.0.0">release v1.0.0</a> | <a href="https://github.com/sockethub/sockethub/blob/v1.0.0/CHANGELOG.md">CHANGELOG</a> ]</p>
]]></description><guid isPermaLink="false">Version 1.0.0 released</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Mon, 02 Nov 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[The Oblivion Bar @ CCCamp2015]]></title><description><![CDATA[<p>The team working on <a href="https://kosmos.org/">Kosmos</a> will have <a href="https://events.ccc.de/camp/2015/wiki/Village:The_Oblivion_Bar">a tent at Chaos Communication Camp 2015</a>. We&#39;ll be giving a talk on Kosmos, remoteStorage and Sockethub.</p>
]]></description><guid isPermaLink="false">The Oblivion Bar @ CCCamp2015</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Tue, 11 Aug 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Microformat2 & RSS news entries]]></title><description><![CDATA[<p>Not only do we now have an <a href="http://sockethub.org/feed.xml">RSS feed</a> but and all of our news entries contain <a href="http://microformats.org/wiki/microformats2">microformat2</a> attributes and can receive webmentions via. <a href="http://webmention.io">webmention.io</a> <em>(though we&#39;re still working on doing something with those webmentions)</em></p>
]]></description><guid isPermaLink="false">Microformat2 &amp; RSS news entries</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Sun, 10 May 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[New website]]></title><description><![CDATA[<p>The Sockethub website has had a makeover, we&#39;re now using the awesome <a href="http://metalsmith.io">metalsmith</a> static site generator to power things, this allows us to easily maintain news updates and provide an rss feed, and just generally keep things more modular.</p>
]]></description><guid isPermaLink="false">New website</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Sat, 09 May 2015 00:00:00 GMT</pubDate></item><item><title><![CDATA[Release v0.3.x]]></title><description><![CDATA[<p>fixes to the IRC platform and improved docker support</p>
<p>[ <a href="https://github.com/sockethub/sockethub/releases/tag/v0.3.0">release v0.3.0</a> | <a href="https://github.com/sockethub/sockethub/blob/v0.3.0/CHANGELOG.md">CHANGELOG</a> ]</p>
]]></description><guid isPermaLink="false">Release v0.3.x</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Sun, 16 Nov 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Release v0.2.x]]></title><description><![CDATA[<p>The sockethub v0.2.x branch has been released!</p>
<p>[ <a href="https://github.com/sockethub/sockethub/releases/tag/v0.2.0">release v0.2.0</a> | <a href="https://github.com/sockethub/sockethub/blob/v0.2.0/CHANGELOG.md">CHANGELOG</a> ]</p>
]]></description><guid isPermaLink="false">Release v0.2.x</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Tue, 09 Sep 2014 00:00:00 GMT</pubDate></item><item><title><![CDATA[Dogfeed RSS/Atom Reader released]]></title><description><![CDATA[<p>A fully unhosted RSS/Atom reader using Sockethub + <a href="http://remotestorage.io">remoteStorage</a></p>
<p>[ <a href="https://dogfeed.5apps.com">dogfeed</a> | <a href="https://github.com/silverbucket/dogfeed">github repository</a> | <a href="https://groups.google.com/forum/#!topic/unhosted/xzOueGY2GYA">official announcement</a> ]</p>
]]></description><guid isPermaLink="false">Dogfeed RSS/Atom Reader released</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Thu, 05 Sep 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sockethub lightning talk at OHM2013]]></title><description><![CDATA[<p><a href="https://silverbucket.net">Nick Jennings</a> will be giving a talk tonight on Sockethub @ <a href="https://program.ohm2013.org">OHM2013</a></p>
<p>[ <a href="https://program.ohm2013.org/event/475.html">talk overview</a> ]</p>
]]></description><guid isPermaLink="false">Sockethub lightning talk at OHM2013</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Wed, 31 Jul 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sockethub talk @ PragueJS]]></title><description><![CDATA[<p><a href="https://silverbucket.net">Nick Jennings</a> will give a Sockethub talk at <a href="http://www.praguejs.cz">PragueJS</a></p>
]]></description><guid isPermaLink="false">Sockethub talk @ PragueJS</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Thu, 30 May 2013 00:00:00 GMT</pubDate></item><item><title><![CDATA[Invoice demo]]></title><description><![CDATA[<p>Sockethub &amp; <a href="http://remotestorage.io">remoteStorage</a> invoice demo on noBackend! <a href="http://invoice.nobackend.org/">http://invoice.nobackend.org/</a></p>
]]></description><guid isPermaLink="false">Invoice demo</guid><dc:creator><![CDATA[Nick Jennings]]></dc:creator><pubDate>Mon, 27 May 2013 00:00:00 GMT</pubDate></item></channel></rss>