<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Screenly CLI 26.9.0 | Screenly</title><description>What has shipped across Screenly, newest first.</description><link>https://www.screenly.io/releases/cli/26.9.0/</link><language>en</language><atom:link href="https://www.screenly.io/releases/cli/26.9.0/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Thu, 03 Sep 2026 00:00:00 +0000</lastBuildDate><item><title>Screenly CLI 26.9.0: Your CI decides which Edge App a deploy goes to, not screenly.yml</title><link>https://www.screenly.io/releases/cli/26.9.0/edge-app-id-from-the-environment/</link><guid isPermaLink="true">https://www.screenly.io/releases/cli/26.9.0/edge-app-id-from-the-environment/</guid><pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate><category>improvement</category><category>developers</category><description>&lt;p&gt;Every Edge App in your Screenly account has an ID, and it&amp;rsquo;s how the CLI knows which app to publish
to when you run &lt;code&gt;screenly edge-app deploy&lt;/code&gt;. Until now that ID lived in the &lt;code&gt;id&lt;/code&gt; field of
&lt;code&gt;screenly.yml&lt;/code&gt;, next to your code. The CLI now looks for it in the &lt;code&gt;EDGE_APP_ID&lt;/code&gt; environment
variable first, so whatever runs the deploy decides where it goes: a secret in your GitHub Actions
workflow, or a variable in your own shell.&lt;/p&gt;
&lt;p&gt;That matters as soon as more than one person or more than one account deploys the same code. An ID
in &lt;code&gt;screenly.yml&lt;/code&gt; belongs to one account but gets committed to a repository other people clone, so
teams end up deploying over each other&amp;rsquo;s app or editing the file back and forth. With the ID in the
environment, the manifest is the same for everybody, and the
&lt;a href="https://www.screenly.io/releases/edge-apps-actions/26.9.0/edge-app-id-input/"&gt;GitHub Actions take it as an input&lt;/a&gt; for the
same reason.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;id&lt;/code&gt; field in &lt;code&gt;screenly.yml&lt;/code&gt; still works when &lt;code&gt;EDGE_APP_ID&lt;/code&gt; isn&amp;rsquo;t set, but the CLI prints a
deprecation warning each time it falls back to it, and it will go away.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;screenly edge-app create&lt;/code&gt; respects the variable too, including &lt;code&gt;--in-place&lt;/code&gt;. With &lt;code&gt;EDGE_APP_ID&lt;/code&gt;
set, create checks that the app exists and targets it rather than making a new one, and writes
nothing into &lt;code&gt;screenly.yml&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;If you script &lt;code&gt;create&lt;/code&gt; with a name:&lt;/strong&gt; the name no longer decides which app you get while
&lt;code&gt;EDGE_APP_ID&lt;/code&gt; is set. The deploy that follows republishes over the app the variable names, so a
new name gives you a new revision of the existing app rather than a new app. Unset the variable
where you actually want a new one.&lt;/p&gt;
&lt;/blockquote&gt;</description></item></channel></rss>