Releases
This document provides information about Sveltia CMS releases, including how to find release notes, versioning practices, and update instructions.
Release Frequency
Sveltia CMS ships new versions frequently, usually multiple times per week or even multiple times per day. Instead of following a strict release schedule, we prioritize releasing updates as soon as they are ready. This approach allows us to deliver new features, improvements, and bug fixes to users more rapidly.
And this approach works because our product is a CDN-served SPA. As long as you use the CDN script without pinning to a specific version, there is no maintenance overhead for users to update their installations. End-users can always access the latest version of Sveltia CMS without needing to manually update their software.
Release Information
Here are some ways to stay informed about new releases:
- Our release notes are available on GitHub. There are a couple of ways to receive notifications about new releases:
- Watch the repository (select Watch → Custom → Releases on the repository homepage) and you’ll get release notifications in:
- The Notifications and Feed pages on the web
- The Inbox and Explore tabs in the GitHub Mobile app
- Join the #cms-announcements channel on our Discord server.
- Subscribe to the Atom feed in your feed reader:
https://github.com/sveltia/sveltia-cms/releases.atom
- Watch the repository (select Watch → Custom → Releases on the repository homepage) and you’ll get release notifications in:
- Major, minor and security releases are also announced on our Bluesky account. Follow us there for the latest updates!
- Interested in what’s coming next? Check out our roadmap. We have a lot of exciting ideas to make Sveltia CMS the best Git-based CMS out there.
- Deprecated features and breaking changes are documented in the migration guide.
Versioning Policy
We follow semantic versioning for our releases. We don’t typically maintain multiple release lines, but we may do so for critical security fixes if necessary. We don’t offer long-term support (LTS) versions.
Breaking changes are only introduced in major version updates (e.g., from 1.x.x to 2.0.0). Minor and patch releases (e.g., from 1.0.0 to 1.1.0 or 1.0.1) are backward-compatible, though unintended issues may occasionally arise.
Stable Version Not Yet Available
At this point, Sveltia CMS has not reached 1.0.0, so breaking changes may still occur in minor version updates. We’ll announce breaking changes clearly in the release notes.
CDN or NPM Package
Sveltia CMS is published as the @sveltia/cms package, which contains three builds of the app. See the API documentation for how to load each one.
| CDN script | CDN module | NPM package | |
|---|---|---|---|
| File | dist/sveltia-cms.js | dist/sveltia-cms.mjs | npm/index.js |
| How to load | script tag | script tag with type="module" | import from @sveltia/cms |
| Format | Classic script, single file | JavaScript module, single file | JavaScript modules, split into files |
| Build tool | Not needed | Not needed | Required |
| Updates | Automatic | Automatic | With your package manager |
| Files loaded from CDNs | Yes | Yes | No |
| PDF thumbnails | Yes | Yes | No |
The CDN builds are self-contained scripts that work on any site. To keep them small, they load some files from public CDNs as needed: fonts from jsDelivr, and admin interface translations, additional libraries, image decoders and syntax highlighting definitions from UNPKG. This is still the case if you copy the script to your own site. See the privacy notes and the Content Security Policy guide for details.
The NPM package includes all of these files instead, so the CMS contacts no CDN. Your build tool processes them along with the rest of your site and loads each one only when it’s needed. This requires a build tool that supports JavaScript modules, workers and assets referenced with new URL(), such as Vite and webpack 5. Some of those files, including libraries like Leaflet for the Map field and the syntax highlighting definitions, come with packages that your package manager installs as dependencies of Sveltia CMS. If your site uses one of them too, both can share a single copy.
Breaking Change in v0.221.0
Earlier versions of the NPM package pointed to the CDN module, dist/sveltia-cms.mjs, so import CMS from '@sveltia/cms' gave you the same self-contained file as the CDN. It now points to the NPM build described above, which needs a build tool. If you load the package without one, for example through an import map, use the CDN module URL instead. Also note that the NPM build no longer shows update notifications, and doesn’t generate PDF thumbnails.
PDF Thumbnails Not Available in the NPM Package
The NPM package doesn’t generate thumbnails for PDF files, as the PDF.js library needs hundreds of additional files, such as character maps and fonts, that would have to be published with every release. PDF files are shown with a generic file icon in the Asset Library and elsewhere in the CMS. You can still preview them in the Asset Library, which uses your browser’s built-in PDF viewer.
Checking Your Current Version
The current version of Sveltia CMS can be viewed by enabling Developer Mode in the application:
- Click on the avatar in the top right corner of the application to open the Account menu.
- Click Settings.
- Click the Advanced tab.
- Enable Developer Mode.
- Close the Settings dialog.
A Release Notes link will now appear under the Help menu with the ? icon, displaying the current application version.
Updating Your Installation
CDN Usage
Updating Sveltia CMS when using the CDN is automatic, unless you have pinned to a specific version. The CDN always serves the latest version, so you don’t need to take any action to receive updates.
To use the latest version of Sveltia CMS via the CDN, include the following script tag in your HTML, as the start guide suggests:
<script src="https://unpkg.com/@sveltia/cms/dist/sveltia-cms.js"></script>Module Version
Earlier versions of Sveltia CMS were bundled as a JavaScript module, so you needed type="module" in the script. The current version is a classic IIFE script, so the type attribute is no longer necessary. If you still need to use the module version for some reason, you can use this tag instead, which loads the .mjs file:
<script src="https://unpkg.com/@sveltia/cms/dist/sveltia-cms.mjs" type="module"></script>The CMS also periodically checks for updates and notifies users when a new version is available. When the notification appears, simply click the “Update Now” button to refresh the application and load the latest version.
To avoid major version updates that may include breaking changes, you can pin to a specific major version using the caret symbol (^) followed by the major version number:
<script src="https://unpkg.com/@sveltia/cms@^1/dist/sveltia-cms.js"></script>Stable Version Not Yet Available
At this point, Sveltia CMS has not reached 1.0.0, so breaking changes may still occur in minor version updates. Pinning to a specific major version is more relevant once we start releasing stable versions (1.0.0 and above).
You can also pin to an exact version, but this is not recommended unless you have a specific reason, like debugging or temporarily avoiding a problematic release:
<script src="https://unpkg.com/@sveltia/[email protected]/dist/sveltia-cms.js"></script>Security Risk
Pinning to an exact version means that you will not receive any updates, including important bug fixes and security patches, until you manually update the version number in your script tag. This can lead to a degraded experience and potential security risks.
Because our security practices include regular dependency updates and supply chain attack mitigations, pinning to an exact version is discouraged for long-term use.
NPM Package Usage
If you’ve chosen to install the CMS using a package manager, updating the package is your responsibility. The CMS doesn’t notify users of new versions in this case, as updating requires a new build of your site. We strongly recommend using ncu or a service like Dependabot to keep dependencies up to date. Otherwise, you’ll miss important bug fixes and new features.
ProTip
We update our dependencies using ncu -u && pnpm up at least once a week.
The pinning methods described in the CDN section above also apply to NPM package versions. For example, to pin to a specific major version, you can run:
npm install @sveltia/cms@^1yarn add @sveltia/cms@^1pnpm add @sveltia/cms@^1bun add @sveltia/cms@^1See the NPM semantic versioning documentation for more details on version ranges.