{"product":"edge-apps","releases":[{"date":"2026-09-01","entries":[{"areas":["developers"],"breaking":false,"description":"captureScreenshot in @screenly/edge-apps/test/screenshots opens a page at a given size, mocks the clock and screenly.js, and saves the screenshot, replacing the setup every Edge App's screenshot spec repeated.","title":"A new captureScreenshot helper takes an Edge App screenshot in 1 call","type":"release","url":"https://www.screenly.io/releases/edge-apps/26.8.0/capture-screenshot/"},{"areas":["developers"],"breaking":false,"description":"Releases jumped from 1.5.0 to 26.8.0 and are now named by year and month, matching the rest of Screenly.","title":"The library's version numbers moved to CalVer","type":"improvement","url":"https://www.screenly.io/releases/edge-apps/26.8.0/calver-version-numbers/"}],"json":"https://www.screenly.io/releases/edge-apps/26.8.0/v1.json","product":"edge-apps","product_label":"Edge Apps library","url":"https://www.screenly.io/releases/edge-apps/26.8.0/","version":"26.8.0"},{"date":"2026-08-19","entries":[{"areas":["developers"],"breaking":false,"description":"isLightColor tells an Edge App whether a color needs dark text on top of it, so text on a customer's accent color stays readable whether the brand is pale or deep.","title":"A new isLightColor helper picks readable text for any brand color","type":"release","url":"https://www.screenly.io/releases/edge-apps/1.5.0/is-light-color/"}],"json":"https://www.screenly.io/releases/edge-apps/1.5.0/v1.json","product":"edge-apps","product_label":"Edge Apps library","url":"https://www.screenly.io/releases/edge-apps/1.5.0/","version":"1.5.0"},{"date":"2026-08-01","entries":[{"areas":["developers"],"breaking":false,"description":"readEdgeAppCache and writeEdgeAppCache store the last value an Edge App fetched successfully, so it has something to show when the next request fails.","title":"Edge Apps can keep showing the last good data when a fetch fails","type":"release","url":"https://www.screenly.io/releases/edge-apps/1.4.0/last-known-good-cache/"}],"json":"https://www.screenly.io/releases/edge-apps/1.4.0/v1.json","product":"edge-apps","product_label":"Edge Apps library","url":"https://www.screenly.io/releases/edge-apps/1.4.0/","version":"1.4.0"},{"date":"2026-07-28","entries":[{"areas":["developers"],"breaking":false,"description":"Apps scaffolded with create use Tailwind CSS utility classes from the start, and the same 3 imports turn them on in an existing Edge App.","title":"New Edge Apps come with Tailwind CSS set up","type":"improvement","url":"https://www.screenly.io/releases/edge-apps/1.3.0/tailwind-css/"}],"json":"https://www.screenly.io/releases/edge-apps/1.3.0/v1.json","product":"edge-apps","product_label":"Edge Apps library","url":"https://www.screenly.io/releases/edge-apps/1.3.0/","version":"1.3.0"},{"date":"2026-07-21","entries":[{"areas":[],"breaking":false,"description":"The app-header component drops the screen name next to the logo, and brand-logo with show-name still renders it where an app needs it.","title":"The app header shows the logo without the screen name","type":"roundup","url":"https://www.screenly.io/releases/edge-apps/1.2.1/fixes-and-improvements/"}],"json":"https://www.screenly.io/releases/edge-apps/1.2.1/v1.json","product":"edge-apps","product_label":"Edge Apps library","url":"https://www.screenly.io/releases/edge-apps/1.2.1/","version":"1.2.1"},{"date":"2026-07-19","entries":[{"areas":["developers"],"breaking":false,"description":"The create command scaffolds a working Edge App into a new directory, with a manifest, an entry point, and package.json scripts set up for npm or Bun.","title":"A new create command scaffolds an Edge App in 1 step","type":"release","url":"https://www.screenly.io/releases/edge-apps/1.2.0/create-a-new-edge-app/"}],"json":"https://www.screenly.io/releases/edge-apps/1.2.0/v1.json","product":"edge-apps","product_label":"Edge Apps library","url":"https://www.screenly.io/releases/edge-apps/1.2.0/","version":"1.2.0"},{"date":"2026-07-16","entries":[{"areas":[],"breaking":false,"description":"dev, build, and build:dev run on Vite 8, so check your own vite.config.ts and Vite plugins when you upgrade.","title":"The edge-apps-scripts commands run on Vite 8","type":"roundup","url":"https://www.screenly.io/releases/edge-apps/1.1.2/fixes-and-improvements/"}],"json":"https://www.screenly.io/releases/edge-apps/1.1.2/v1.json","product":"edge-apps","product_label":"Edge Apps library","url":"https://www.screenly.io/releases/edge-apps/1.1.2/","version":"1.1.2"},{"date":"2026-06-21","entries":[{"areas":[],"breaking":false,"description":"The README now lists setupSentry, scrubSensitiveData, and reportError, the helpers that came with Sentry support in 1.1.0.","title":"The README lists the error reporting helpers","type":"roundup","url":"https://www.screenly.io/releases/edge-apps/1.1.1/fixes-and-improvements/"}],"json":"https://www.screenly.io/releases/edge-apps/1.1.1/v1.json","product":"edge-apps","product_label":"Edge Apps library","url":"https://www.screenly.io/releases/edge-apps/1.1.1/","version":"1.1.1"},{"date":"2026-06-19","entries":[{"areas":["developers"],"breaking":false,"description":"setupSentry and reportError send an Edge App's errors to your own Sentry project, tagged with the app and the screen they came from, with secret setting values redacted.","title":"Edge Apps can send their errors to your own Sentry project","type":"release","url":"https://www.screenly.io/releases/edge-apps/1.1.0/sentry-error-reporting/"}],"json":"https://www.screenly.io/releases/edge-apps/1.1.0/v1.json","product":"edge-apps","product_label":"Edge Apps library","url":"https://www.screenly.io/releases/edge-apps/1.1.0/","version":"1.1.0"},{"date":"2026-05-02","entries":[{"areas":["developers"],"breaking":false,"description":"The library and its edge-apps-scripts commands work with Node.js 20.6.0 or later and npm, so building an Edge App no longer requires Bun.","title":"edge-apps-scripts runs on Node.js and npm","type":"release","url":"https://www.screenly.io/releases/edge-apps/1.0.0/runs-on-node-and-npm/"},{"areas":["developers"],"breaking":true,"description":"Start the local CORS proxy with edge-apps-scripts cors-proxy instead of pointing at cors-proxy-server.ts inside the library, and it follows redirects for GET and HEAD requests.","title":"The CORS proxy is an edge-apps-scripts command now","type":"improvement","url":"https://www.screenly.io/releases/edge-apps/1.0.0/cors-proxy-command/"}],"json":"https://www.screenly.io/releases/edge-apps/1.0.0/v1.json","product":"edge-apps","product_label":"Edge Apps library","url":"https://www.screenly.io/releases/edge-apps/1.0.0/","version":"1.0.0"}],"title":"Edge Apps library release notes","url":"https://www.screenly.io/releases/edge-apps/","version":1}