@sveltia/cms 0.122.2 → 0.123.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -125,17 +125,17 @@ Due to its unfortunate abandonment in early 2022, Netlify CMS spawned 3 successo
125
125
  - ❌ Discontinued in September 2024 after making meaningful improvements
126
126
  - **Sveltia CMS**: not a fork but a **complete rewrite**
127
127
  - Started in November 2022, first appeared on GitHub in March 2023
128
- - ✅ Relevant issues are being resolved regardless of their age or status
129
128
  - ✅ Actively developed with frequent releases and numerous improvements
130
- - ✅ Most of bug reports are addressed promptly, usually within a day
131
- - ✅ An extensive roadmap
129
+ - ✅ Relevant issues are being resolved regardless of their age or status
130
+ - ✅ Most of new bug reports are addressed promptly, usually within a day
131
+ - ✅ An [extensive roadmap](#roadmap) is available to keep users informed
132
132
  - ✅ No known unpatched security vulnerabilities, with dependencies kept up-to-date
133
133
  - [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version
134
134
  - [Announced in February 2023](https://www.netlify.com/blog/netlify-cms-to-become-decap-cms/) as an official continuation with a Netlify agency partner taking ownership
135
- - ⚠️ Seemingly random issues were closed as stale following the takeover
136
135
  - ⚠️ Mostly low activity with only occasional releases and a few minor improvements
136
+ - ⚠️ Seemingly random issues were closed as stale following the takeover
137
137
  - ⚠️ Bug reports continue to pile up, often without any response
138
- - ⚠️ No roadmap
138
+ - ⚠️ No public roadmap is available, leaving users in the dark
139
139
  - ❌ A moderate severity [XSS vulnerability](https://github.com/advisories/GHSA-xp8g-32qh-mv28), high severity dependency vulnerabilities and fatal crashes remain unaddressed
140
140
 
141
141
  Sveltia CMS is the only project that doesn’t inherit the complexity, technical debt, and numerous bugs of Netlify CMS, which was launched in 2015. Our product is **better by design**:
@@ -146,12 +146,11 @@ Sveltia CMS is the only project that doesn’t inherit the complexity, technical
146
146
  - We closely monitor and analyze the predecessor’s issue tracker
147
147
  - We rearchitect the entire user experience (UX) and developer experience (DX)
148
148
 
149
- This “total reboot” has enabled us to implement hundreds of improvements without getting stuck in a legacy system. We are fully committed to making Sveltia CMS the best successor to Netlify CMS:
149
+ This “total reboot” has enabled us to implement hundreds of improvements without getting stuck in a legacy system. Furthermore:
150
150
 
151
151
  - We dedicate significant time and effort to modernizing the platform
152
152
  - We continue to address [issues](https://github.com/decaporg/decap-cms/issues) reported in the predecessor’s repository
153
153
  - We materialize the enhancements that Netlify CMS users have long desired
154
- - We deliver [regular updates](https://github.com/sveltia/sveltia-cms/releases) and [clear goals](#roadmap)
155
154
 
156
155
  For that reason, Sveltia CMS is the **true successor to Netlify CMS** — not just a spiritual successor or a mere alternative — and the best choice for users looking to migrate from the predecessor, other successors, or even other CMS solutions.
157
156
 
@@ -173,7 +172,6 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
173
172
  - The vast majority of existing configurations work out of the box
174
173
  - It works as a drop-in replacement for most use cases
175
174
  - Some missing features will be implemented before or shortly after GA
176
- - Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
177
175
  - Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
178
176
  - So far, **275+ issues, or 595+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
179
177
  - Target:
@@ -189,7 +187,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
189
187
  - The remaining bugs are mostly related to [unimplemented features](#current-limitations)
190
188
  - Many of their [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) are [on our table](#roadmap) or already implemented in Sveltia CMS
191
189
  - Solving [our own issues](https://github.com/sveltia/sveltia-cms/issues)
192
- - Preparing comprehensive, up-to-date, easy-to-understand [documentation](https://github.com/sveltia/sveltia-cms/issues/485)
190
+ - Preparing top-notch [documentation](https://github.com/sveltia/sveltia-cms/issues/485)
193
191
  - Implementing our own enhancement ideas for every part of the product
194
192
 
195
193
  ![275 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20251204)<br>
@@ -299,7 +297,7 @@ We’ve made various improvements to help you get your work done faster and more
299
297
  - Also supports [multiple configuration files](#providing-multiple-configuration-files) to allow developers to modularize the configuration.[^197]
300
298
  - We provide an [up-to-date JSON schema](#enabling-autocomplete-and-validation-for-the-configuration-file) for YAML/JSON configuration files, which enables autocomplete and validation in VS Code and other editors.[^253] If you use [deprecated options](#deprecations) in a supported code editor, you should receive a warning.
301
299
  - Improved TypeScript support:
302
- - We keep our type definitions for `CMS.init()` and other methods complete, accurate, up-to-date and annotated.[^190][^191][^192][^193][^227] This makes it easier to provide a site config object when [manually initializing](https://decapcms.org/docs/manual-initialization/) the CMS.
300
+ - We keep our type definitions for `CMS.init()` and other methods complete, accurate, up-to-date and annotated.[^190][^191][^192][^193][^227] This makes it easier to provide a config object when [manually initializing](https://decapcms.org/docs/manual-initialization/) the CMS.
303
301
  - Config validation enhancements:
304
302
  - Sveltia CMS has additional validation rules designed to prevent common misconfigurations that could lead to runtime errors:
305
303
  - Common backend misconfigurations, such as an incorrect repository name or a missing OAuth client ID[^303]
@@ -354,7 +352,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
354
352
  - The List and Object widgets support the `i18n: duplicate` field configuration so that changes made with these widgets are duplicated between locales.[^7][^68] The `i18n` configuration can normally be used for the subfields.
355
353
  - Gives more control over [entry file paths](#controlling-entry-file-paths):
356
354
  - The new `multiple_folders_i18n_root` i18n structure allows to have locale folders below the project root: `/<locale>/<folder>/<path>.<extension>`.[^182]
357
- - The new `omit_default_locale_from_filename` i18n option allows to exclude the default locale from filenames. This option applies to entry collections with the `multiple_files` i18n structure enabled, as well as to file collection items with the `file` path ending with `.{{locale}}.<extension>`, aiming to support [Zola’s multilingual sites](https://www.getzola.org/documentation/content/multilingual/). ([Discussion](https://github.com/sveltia/sveltia-cms/discussions/394))
355
+ - The new `omit_default_locale_from_filename` i18n option allows to exclude the default locale from filenames. This option applies to folder collections with the `multiple_files` i18n structure enabled, as well as to file collection items with the `file` path ending with `.{{locale}}.<extension>`, aiming to support [Zola’s multilingual sites](https://www.getzola.org/documentation/content/multilingual/). ([Discussion](https://github.com/sveltia/sveltia-cms/discussions/394))
358
356
  - [Entry-relative media folders](https://decapcms.org/docs/collection-folder/#media-and-public-folder) can be used in conjunction with the `multiple_folders` i18n structure.[^21]
359
357
  - Entry slug enhancements:
360
358
  - It’s possible to [use a random UUID for an entry slug](#using-a-random-id-for-an-entry-slug), which is a good option for locales that write in non-Latin characters.
@@ -414,6 +412,7 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
414
412
  - Sveltia CMS supports [singletons](#using-singletons), a simple form of a file collection.[^233]
415
413
  - File collections support files without extensions.[^255] This is useful for [editing site deployment configuration files](#editing-site-deployment-configuration-files), such as `_headers` and `_redirects`.
416
414
  - Each file in a file collection has the `format` and `frontmatter_delimiter` options, which can be used to specify the file format, making it possible to have `yaml-frontmatter`, `toml-frontmatter` and `json-frontmatter` side by side.[^218]
415
+ - The `create` option for folder collections defaults to `true`, providing a better out-of-the-box experience.
417
416
  - The collection `label` defaults to the `name` value according to the [Decap CMS document](https://decapcms.org/docs/configuration-options/#collections), while Netlify/Decap CMS actually throws a configuration error if the `label` option is omitted.
418
417
  - Nested fields (dot notation) can be used in the `path` option for a folder collection, e.g. `{{fields.state.name}}/{{slug}}`.[^62]
419
418
  - Markdown is supported in the `description` collection option.[^79] Bold, italic, strikethrough, code and links are allowed.
@@ -708,7 +707,7 @@ We are working hard to implement several missing features from Netlify/Decap CMS
708
707
  - Preview for [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent) (`CMS.registerEditorComponent`)
709
708
  - [Custom widgets](https://decapcms.org/docs/custom-widgets/) (`CMS.registerWidget`)
710
709
  - [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) (`CMS.registerPreviewTemplate`) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
711
- - [Documentation](https://github.com/sveltia/sveltia-cms/issues/485) and site config validation are under development.
710
+ - [Documentation](https://github.com/sveltia/sveltia-cms/issues/485) and config validation are under development.
712
711
  - [Localization](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md) and a [demo site](https://github.com/sveltia/sveltia-cms/issues/1) will follow soon.
713
712
  - Due to the complexity, we have decided to **defer the following features to the 1.x or 2.0 release** due mid-2026. Netlify/Decap CMS has dozens of open issues with these collaboration and beta features — we want to implement them the right way.
714
713
  - [Editorial workflow](https://decapcms.org/docs/editorial-workflows/)
@@ -720,7 +719,7 @@ We are working hard to implement several missing features from Netlify/Decap CMS
720
719
  The following Netlify/Decap CMS features will not be added to Sveltia CMS, primarily due to considerations relating to their deprecation.
721
720
 
722
721
  - **Azure and Bitbucket backends**: For performance reasons. We’ll support these platforms if their APIs improve to allow the CMS to fetch multiple entries at once.
723
- - **Git Gateway backend**: Git Gateway is now [deprecated](https://docs.netlify.com/manage/security/secure-access-to-sites/git-gateway/) by Netlify. Like the Azure and Bitbucket backends, it also has performance issues. We plan to develop a GraphQL-based high-performance alternative [in the future](#roadmap) to provide a migration path for existing Git Gateway users.
722
+ - **Git Gateway backend**: Git Gateway is now officially [deprecated](https://docs.netlify.com/manage/security/secure-access-to-sites/git-gateway/) by Netlify. Like the Azure and Bitbucket backends, it also has performance issues. We plan to develop a GraphQL-based high-performance alternative [in the future](#roadmap) to provide a migration path for existing Git Gateway users.
724
723
  - **Netlify Identity Widget**: It’s not useful without Git Gateway, and the Netlify Identity service itself is now [deprecated](https://www.netlify.com/changelog/deprecation-netlify-identity/). We plan to develop an alternative solution with role support [in the future](#roadmap), most likely using [Cloudflare Workers](https://workers.cloudflare.com/) and [Auth.js](https://authjs.dev/).
725
724
  - [Gatsby plugin](https://github.com/decaporg/gatsby-plugin-decap-cms): In light of Gatsby’s [uncertainty](https://github.com/gatsbyjs/gatsby/discussions/39062), we won’t be investing time in developing a plugin for it. Gatsby users can still create `index.html` themselves. Note: We don’t support Netlify Identity Widget; the favicon can be specified with the `logo.src` option.
726
725
  - The deprecated client-side implicit grant for the GitLab backend: It has already been [removed from GitLab 15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/344609). Use the client-side PKCE authorization instead.
@@ -757,6 +756,7 @@ There are some differences in behaviour between Sveltia CMS and Netlify/Decap CM
757
756
  - In some cases, the [data output](#better-data-output) of Sveltia CMS may differ from that of Netlify/Decap CMS. Notably, Sveltia CMS does not omit empty optional fields by default. If you have data validation in your site generator, this could cause issues. Use the `omit_empty_optional_fields` [output option](#controlling-data-output) if needed.
758
757
  - Sveltia CMS requires a [secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts), meaning it only works with HTTPS, `localhost` or `127.0.0.1` URLs. If you’re running your own remote server and serving content over HTTP, the CMS will not work. We recommend obtaining a TLS certificate from [Let’s Encrypt](https://letsencrypt.org/).
759
758
  - As of [Sveltia CMS 0.105.0](https://github.com/sveltia/sveltia-cms/releases/tag/v0.105.0), the `sanitize_preview` option for the [Markdown](https://decapcms.org/docs/widgets/#Markdown) widget is set to `true` by default to prevent potential XSS attacks via entry previews. We recommend keeping this option enabled unless disabling it fixes a broken preview and you fully trust all users of your CMS.
759
+ - As of [Sveltia CMS 0.123.0](https://github.com/sveltia/sveltia-cms/releases/tag/v0.123.0), the `create` option for folder collections defaults to `true` because, in 99.99% of cases, users want to create new entries and adding `create: true` to every folder collection is redundant. To disable entry creation, set `create: false` explicitly.
760
760
 
761
761
  There may be other minor differences in behaviour that are not listed here.
762
762
 
@@ -2020,7 +2020,7 @@ Due early 2026
2020
2020
  - Enhanced [compatibility with Netlify/Decap CMS](#compatibility)
2021
2021
  - Tackling some more Netlify/Decap CMS issues:
2022
2022
  - PKCE for GitHub[^285] — It’s [not yet supported](https://github.com/orgs/community/discussions/15752) by GitHub but is [planned for Q4 2025](https://github.com/github/roadmap/issues/1153)
2023
- - Thorough site config validation[^246]
2023
+ - Thorough config validation[^246]
2024
2024
  - [Entry pre-validation/normalization](https://github.com/sveltia/sveltia-cms/issues/395)[^248]
2025
2025
  - Accessibility audit
2026
2026
  - [Localization](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md)