<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<id>https://plainworkdigital.com/d20261010a11/demo/developers/feed.xml</id>
<title>Lantern release notes: Developers</title>
<subtitle>API changes, breaking changes and upgrade notes.</subtitle>
<updated>2026-10-06T00:00:00Z</updated>
<author><name>The Lantern team</name></author>
<link rel="self" type="application/atom+xml" href="https://plainworkdigital.com/d20261010a11/demo/developers/feed.xml"/>
<link rel="alternate" type="text/html" href="https://plainworkdigital.com/d20261010a11/demo/developers/"/>
<entry>
<id>tag:plainworkdigital.com,2026-10-06:release/2.1.0/developers</id>
<title>2.1.0: Templates</title>
<link rel="alternate" type="text/html" href="https://plainworkdigital.com/d20261010a11/demo/r/2.1.0/#a-developers"/>
<published>2026-10-06T00:00:00Z</published>
<updated>2026-10-06T00:00:00Z</updated>
<summary>Start a board from a template, and save your own.</summary>
<content type="html">&lt;p&gt;Start a board from a template, and save your own.&lt;/p&gt;
&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;POST /v1/boards&lt;/code&gt; accepts &lt;code&gt;template_id&lt;/code&gt;. &lt;code&gt;GET /v1/templates&lt;/code&gt; lists the built-in and workspace templates.&lt;/li&gt;&lt;/ul&gt;</content>
</entry>
<entry>
<id>tag:plainworkdigital.com,2026-09-01:release/2.0.1/developers</id>
<title>2.0.1</title>
<link rel="alternate" type="text/html" href="https://plainworkdigital.com/d20261010a11/demo/r/2.0.1/#a-developers"/>
<published>2026-09-01T00:00:00Z</published>
<updated>2026-09-01T00:00:00Z</updated>
<summary>Fixes workspace invites that went to the wrong email address.</summary>
<content type="html">&lt;p&gt;Fixes workspace invites that went to the wrong email address.&lt;/p&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;POST /v1/workspaces/{id}/members&lt;/code&gt; used a cached recipient for requests sent within the same second. Fixed; no API change.&lt;/li&gt;&lt;/ul&gt;</content>
</entry>
<entry>
<id>tag:plainworkdigital.com,2026-08-25:release/2.0.0/developers</id>
<title>2.0.0: Workspaces</title>
<link rel="alternate" type="text/html" href="https://plainworkdigital.com/d20261010a11/demo/r/2.0.0/#a-developers"/>
<published>2026-08-25T00:00:00Z</published>
<updated>2026-08-25T00:00:00Z</updated>
<summary>Group boards into workspaces with their own members and billing. API v1 routes marked deprecated are removed.</summary>
<content type="html">&lt;p&gt;Group boards into workspaces with their own members and billing. API v1 routes marked deprecated are removed.&lt;/p&gt;
&lt;h3&gt;Breaking&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Removed &lt;code&gt;GET /v1/cards?board=&lt;/code&gt; (deprecated since 1.3.0). Use &lt;code&gt;GET /v1/boards/{id}/cards&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Tokens are now scoped to a workspace. Existing tokens keep working and are attached to your personal workspace.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Added&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;workspaces&lt;/code&gt; resource and &lt;code&gt;workspace_id&lt;/code&gt; on boards.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Upgrade check for scripts that list cards:&lt;/p&gt;
&lt;pre tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;// before (removed)
fetch(&amp;quot;/v1/cards?board=&amp;quot; + id)
// after
fetch(`/v1/boards/${id}/cards?limit=250`)&lt;/code&gt;&lt;/pre&gt;</content>
</entry>
<entry>
<id>tag:plainworkdigital.com,2026-07-21:release/1.5.1/developers</id>
<title>1.5.1</title>
<link rel="alternate" type="text/html" href="https://plainworkdigital.com/d20261010a11/demo/r/1.5.1/#a-developers"/>
<published>2026-07-21T00:00:00Z</published>
<updated>2026-07-21T00:00:00Z</updated>
<summary>A security fix for card links shared outside a board. Update recommended.</summary>
<content type="html">&lt;p&gt;A security fix for card links shared outside a board. Update recommended.&lt;/p&gt;
&lt;h3&gt;Security&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Share tokens are 128-bit random values. Old 48-bit share links keep working for 14 days, then stop.&lt;/li&gt;&lt;/ul&gt;</content>
</entry>
</feed>
