<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Open Waters: AIS releases</title>
    <link>https://openwaters.io/updates/ais/releases/</link>
    <atom:link href="https://openwaters.io/updates/ais/releases/rss.xml" rel="self" type="application/rss+xml" />
    <description>New releases from AIS.</description>
    <language>en</language>
    <item>
      <title>App Store screenshots in Navionics and Aqua Map (Signal K AIS plugin 0.6.3)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-6-3/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-6-3/</guid>
      <pubDate>Fri, 09 Oct 2026 19:38:47 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;The plugin&amp;#39;s App Store page has screenshots of aiscast traffic in Navionics and Aqua Map, which receive it from the Signal K server as NMEA 0183 over Wi-Fi.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Accurate course, heading, and turn rate from NMEA 2000 receivers (Signal K AIS plugin 0.6.2)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-6-2/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-6-2/</guid>
      <pubDate>Fri, 09 Oct 2026 12:56:55 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;Traffic your NMEA 2000 AIS receiver hears reaches Open Waters AIS more faithfully. A vessel steering just west of north no longer has its course and heading sent as not available, a turn&amp;#39;s rate is no longer rounded down, and a position report that leaves out the navigation status or rate of turn now says so, where it used to claim the vessel was under way using its engine and not turning.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Renamed to Open Waters AIS (Signal K AIS plugin 0.6.1)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-6-1/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-6-1/</guid>
      <pubDate>Fri, 09 Oct 2026 11:40:56 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;The plugin is now called Open Waters AIS, in Plugin Config and in the App Store, where it was AIScast. It is the same plugin: the package is still &lt;code&gt;signalk-aiscast&lt;/code&gt;, your settings and station carry over, and nothing about how it shares or receives traffic has changed.&lt;/li&gt;
&lt;li&gt;The plugin has an icon in the App Store, and its page there suggests &lt;a href=&quot;https://github.com/sbender9/signalk-buddylist-plugin&quot;&gt;signalk-buddylist-plugin&lt;/a&gt;, which lets you follow buddy boats on Open Waters AIS far beyond VHF range.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Stations named after your boat, and signed token requests (Signal K AIS plugin 0.6.0)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-6-0/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-6-0/</guid>
      <pubDate>Thu, 01 Oct 2026 14:00:50 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;Your station on aiscast takes your boat&amp;#39;s name, the vessel name set in Signal K, while &lt;em&gt;Share my own ship&lt;/em&gt; is on. Turning that switch off removes the name, so the station never says where the boat is. There is nothing to set up.&lt;/li&gt;
&lt;li&gt;The plugin signs its token requests with the boat&amp;#39;s key, so nobody else can get a token for your station. After the upgrade it requests a new token once.&lt;/li&gt;
&lt;li&gt;Plugin Config shows the address of this boat&amp;#39;s station page on openwaters.io under Advanced → Access token, to copy into a browser, so you can see what your receiver is contributing.&lt;/li&gt;
&lt;li&gt;A pasted token that aiscast refuses now says how to fix it: clear Advanced → Access token and the plugin goes back to its own token. Tokens from openwaters.io/ais/token that are bound to a network address stop working when that address changes, as it does on Starlink and cellular. The plugin&amp;#39;s own token works from any address.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Works with the new contributor station names (Signal K AIS plugin 0.5.2)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-5-2/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-5-2/</guid>
      <pubDate>Sat, 26 Sep 2026 14:36:00 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;Works with aiscast&amp;#39;s new names for contributing stations. aiscast now files every contribution as &lt;code&gt;station:&amp;lt;key&amp;gt;&lt;/code&gt;, which 0.5.1 does not recognize, so it took its own reports coming back from the server for traffic from another station. The loop guard then held back the boat&amp;#39;s receiver when it heard an identical report again, such as a nearby vessel&amp;#39;s unchanged static data, and that report never reached aiscast. The plugin recognizes its own reports under the old and new names, and with an operator-issued token as well as one it minted itself.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Names, call signs, and dimensions on chartplotters (Signal K AIS plugin 0.5.1)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-5-1/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-5-1/</guid>
      <pubDate>Mon, 21 Sep 2026 16:53:13 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;Chartplotters now show names, call signs, and dimensions for aiscast targets. aiscast sends a vessel&amp;#39;s static data only when it changes, so for most aggregated targets the only copy arrives in the snapshot on connect, which the NMEA 0183 relay held back. The plugin now keeps the latest static data for each target, sends it right after the target&amp;#39;s first live position, and repeats it with a position every 6 minutes while the target stays live.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Open Waters AIS traffic on NMEA 0183 chartplotters (Signal K AIS plugin 0.5.0)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-5-0/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-5-0/</guid>
      <pubDate>Mon, 21 Sep 2026 13:25:27 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;New Receive setting, on by default: &lt;em&gt;Send aiscast traffic to NMEA 0183 output&lt;/em&gt;. Targets injected from aiscast are re-emitted as &lt;code&gt;!AIVDM&lt;/code&gt; on the &lt;code&gt;nmea0183out&lt;/code&gt; event, so chartplotters and tablet apps reading the server&amp;#39;s NMEA 0183 connections see over-the-horizon traffic, not only the Signal K apps. Only aiscast-sourced targets are relayed, and in &lt;code&gt;Always&lt;/code&gt; mode a target the local receiver already covers is left out, so nothing is duplicated. Turn it off if &lt;code&gt;signalk-vessels-to-ais&lt;/code&gt; is doing the same conversion.&lt;/li&gt;
&lt;li&gt;Position events older than 2 minutes are discarded before they reach Signal K or NMEA 0183. Static data is always injected into Signal K, but reaches NMEA 0183 only after that vessel has sent a live position, keeping the snapshot replay burst off slow serial connections. Remote &lt;code&gt;!AIVDO&lt;/code&gt; is converted to &lt;code&gt;!AIVDM&lt;/code&gt; before relay so it cannot replace the chartplotter&amp;#39;s own-ship state.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Fewer SD card writes while offline (Signal K AIS plugin 0.4.0)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-4-0/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-4-0/</guid>
      <pubDate>Thu, 17 Sep 2026 13:54:00 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;The offline queue writes far less to the SD card. Each queue file used to be rewritten from scratch every fifteen seconds as sentences were added to it, so a boat at anchor hearing a slow trickle of traffic wrote the same data to the card a dozen times over. Sentences are now appended to the end of a file and nothing is rewritten, which on a quiet anchorage cuts the writing to a fraction of what it was.&lt;/li&gt;
&lt;li&gt;A replay the server only partly accepts no longer rewrites anything on disk, and a queue file damaged by a power cut costs one sentence instead of the five hundred it was sharing a file with.&lt;/li&gt;
&lt;li&gt;The queue keeps working when the plugin cannot delete a file, as happens when an SD card turns read-only. A queue file that could neither be read nor removed used to stop the replay where it stood until the next reconnect, and files the server had already taken could be left behind in a way that made the 100 MB cap discard data that had not been sent yet. Files that will not delete are now set aside, retried in the background, and never replayed.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Offline backlog uploads in full after reconnecting (Signal K AIS plugin 0.3.1)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-3-1/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-3-1/</guid>
      <pubDate>Thu, 17 Sep 2026 11:45:58 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;Fixes a queue that never emptied. While the plugin was replaying a backlog to aiscast it wrote every sentence its receiver heard to a new queue file, so it traded one file for another and the replay never reached the end. On a boat that had been offline a while, the queue directory stayed at tens of thousands of files no matter how long the connection was up. A replay now carries up to a thousand sentences from as many files in one frame, and sentences heard mid-replay go out from memory.&lt;/li&gt;
&lt;li&gt;The queue keeps far fewer files. Time offline used to leave one behind every fifteen seconds; the plugin now fills each file to 500 sentences before starting another, so the count follows how much is owed rather than how long the boat was out of range.&lt;/li&gt;
&lt;li&gt;Sentences past the server&amp;#39;s publish limit are no longer lost. aiscast accepts 6000 sentences a minute and quietly drops the rest, so a large replay used to arrive mostly empty while the plugin counted it as delivered. The plugin now paces a replay under the limit and keeps anything the server did not take. A boat with a big backlog takes about a minute for every 5400 sentences owed to catch up, with live sending held back until it is done.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Follow buddy boats beyond VHF range (Signal K AIS plugin 0.3.0)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-3-0/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-3-0/</guid>
      <pubDate>Tue, 01 Sep 2026 19:29:23 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;Buddy boats: vessels on &lt;a href=&quot;https://github.com/sbender9/signalk-buddylist-plugin&quot;&gt;signalk-buddylist-plugin&lt;/a&gt;&amp;#39;s list are followed on aiscast wherever they are, far beyond VHF range, in every receive mode. The buddylist plugin keeps raising its buddy flag and proximity alerts, so Freeboard-SK&amp;#39;s buddy icon and phone notifications work at any distance. The status line shows how many buddies have been heard from.&lt;/li&gt;
&lt;li&gt;Subscriptions request a snapshot, so targets appear from the server&amp;#39;s cache at connect instead of one by one as they next transmit.&lt;/li&gt;
&lt;li&gt;Own-ship reports from NMEA 2000 are recognized by the boat&amp;#39;s MMSI, not only by the transceiver-information field, so transmitting transponders like the B&amp;amp;G V60-B publish as &lt;code&gt;!AIVDO&lt;/code&gt; and pause self-reported position synthesis.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Share your position from GPS when there's no AIS transponder (Signal K AIS plugin 0.2.0)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-2-0/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-2-0/</guid>
      <pubDate>Mon, 24 Aug 2026 16:41:07 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;New Share setting: &lt;em&gt;Fallback to self-reported AIS position&lt;/em&gt;. When an AIS transponder is not available, the plugin builds class B position and static reports from Signal K (like &lt;code&gt;@signalk/aisreporter&lt;/code&gt;) and publishes them as &lt;code&gt;!AIVDO&lt;/code&gt; tagged &lt;code&gt;s:self&lt;/code&gt;, so a boat with only a GPS shows up on aiscast as self-reported. Synthesis pauses while a real &lt;code&gt;!AIVDO&lt;/code&gt; is heard. Checked by default when the config form is saved; configs saved before this setting existed stay off until re-saved. The checkbox is disabled until an MMSI is set in Vessel settings.&lt;/li&gt;
&lt;li&gt;Each Share setting explains itself below its label, and Receive mode renders as radio buttons instead of a dropdown.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Tokens no longer expire (Signal K AIS plugin 0.1.4)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-1-4/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-1-4/</guid>
      <pubDate>Fri, 21 Aug 2026 22:15:46 GMT</pubDate>
      <category>Release</category>
      <description>&lt;ul&gt;
&lt;li&gt;Personal tokens minted by aiscast no longer expire; the plugin keeps a cached token with no expiry instead of minting a new one every start.&lt;/li&gt;
&lt;li&gt;The npm package includes a CHANGELOG.md.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Connects over Starlink, satellite, and slow cellular links (Signal K AIS plugin 0.1.3)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-1-3/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-1-3/</guid>
      <pubDate>Fri, 21 Aug 2026 11:22:13 GMT</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Fixes the plugin never connecting on high-latency links (Starlink in remote regions, satellite, some cellular): the status line stuck on &lt;code&gt;reconnecting&lt;/code&gt; while &lt;code&gt;curl&lt;/code&gt; to the server worked. Node gave up on the IPv4 connection after 250 ms and fell back to an unroutable IPv6 address; the plugin now allows 3 s per attempt.&lt;/p&gt;
&lt;p&gt;The debug log now shows the real reason a socket failed (for example &lt;code&gt;socket error: ETIMEDOUT (connect ETIMEDOUT 2.29.0.215:443; …)&lt;/code&gt;) instead of an empty &lt;code&gt;socket error:&lt;/code&gt; line.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Dashboard clears the &quot;No token&quot; error once connected (Signal K AIS plugin 0.1.2)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-1-2/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-1-2/</guid>
      <pubDate>Fri, 21 Aug 2026 02:17:31 GMT</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Clears the red &amp;#39;No token&amp;#39; line on the Dashboard once the token is obtained (the server keeps a plugin&amp;#39;s last error until the status entry is reset).&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Starts sharing once the network comes up (Signal K AIS plugin 0.1.1)</title>
      <link>https://openwaters.io/updates/signal-k-ais-plugin-0-1-1/</link>
      <guid isPermaLink="true">https://openwaters.io/updates/signal-k-ais-plugin-0-1-1/</guid>
      <pubDate>Fri, 21 Aug 2026 02:09:51 GMT</pubDate>
      <category>Release</category>
      <description>&lt;p&gt;Retries token minting with backoff (1 to 30 min) instead of waiting six hours after a failed start, so a Pi that boots before its network is up starts sharing as soon as it can. Token errors now include the underlying cause (DNS, TLS, connection refused).&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
