@sveltia/cms 0.119.1 → 0.120.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
@@ -1,6 +1,6 @@
1
1
  # Sveltia CMS: Netlify/Decap CMS successor
2
2
 
3
- Sveltia CMS is a Git-based lightweight headless CMS under active development as a modern, powerful, direct replacement for Netlify CMS (now Decap CMS). We have picked up where they left off and have already solved over 265 issues reported in the predecessor’s repository, ranging from critical bugs to top feature requests.
3
+ Sveltia CMS is a Git-based lightweight headless CMS under active development as a modern, powerful, direct replacement for Netlify CMS (now Decap CMS). We have picked up where they left off and have already solved over 270 issues reported in the predecessor’s repository, ranging from critical bugs to top feature requests.
4
4
 
5
5
  Built from the ground up, Sveltia CMS offers excellent UX, DX, performance, security and internationalization (i18n) support. Although some features are still missing, our numerous enhancements across the board ensure smooth daily workflows.
6
6
 
@@ -127,7 +127,7 @@ Due to its unfortunate abandonment in early 2022, Netlify CMS spawned 3 successo
127
127
  - **Sveltia CMS**: not a fork but a **complete rewrite**
128
128
  - Started in November 2022, first appeared on GitHub in March 2023
129
129
  - ✅ Actively developed with frequent releases and numerous improvements
130
- - ✅ Solved more than 265 issues reported in the Netlify/Decap CMS repository
130
+ - ✅ Solved more than 270 issues reported in the Netlify/Decap CMS repository
131
131
  - [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version
132
132
  - [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
133
133
  - ⚠️ Mostly low activity with only occasional releases and a few minor improvements
@@ -141,11 +141,14 @@ Sveltia CMS is the only project that doesn’t inherit the complexity, technical
141
141
  - We closely monitor and analyze the predecessor’s issue tracker
142
142
  - We rearchitect the entire user experience (UX) and developer experience (DX)
143
143
 
144
- This “total reboot” allows us to implement [hundreds of improvements](#differentiators) without getting stuck in a legacy system.
144
+ 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:
145
145
 
146
- We are continuing to aggressively address the [issues](https://github.com/decaporg/decap-cms/issues) reported in the predecessor’s repository and deliver the enhancements that Netlify CMS users have long desired. We are dedicating significant time and effort to improving compatibility and enhancing every aspect of the product. Of the 3 successors, Sveltia CMS is the only one providing a [clear roadmap](#roadmap), [regular updates](https://github.com/sveltia/sveltia-cms/releases) and [excellent outcomes](#differentiators).
146
+ - We dedicate significant time and effort to modernizing the platform
147
+ - We continue to address [issues](https://github.com/decaporg/decap-cms/issues) reported in the predecessor’s repository
148
+ - We materialize the enhancements that Netlify CMS users have long desired
149
+ - We deliver [regular updates](https://github.com/sveltia/sveltia-cms/releases) and [clear goals](#roadmap)
147
150
 
148
- That’s why Sveltia CMS is the **true successor to Netlify CMS**, rather than just an alternative or a spiritual successor.
151
+ 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.
149
152
 
150
153
  ### Our goals
151
154
 
@@ -165,12 +168,16 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
165
168
  - Some missing features will be implemented before or shortly after GA
166
169
  - Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
167
170
  - Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
168
- - So far, **265+ issues, or 580+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
171
+ - So far, **270+ issues, or 580+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
169
172
  - Target:
170
173
  - 250 issues, or 500 if including duplicates, by GA — We did it! 🎉
171
- - 400 issues, or 900 if including duplicates, in the future 💪
174
+ - 450 issues, or 900 if including duplicates, in the future 💪
172
175
  - or every single issue that’s relevant, fixable, and worth dealing with 🔥
173
- - Issues include everything from feature requests to bug reports and [issues closed as stale](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) or without an effective solution, as well as [discussions](https://github.com/decaporg/decap-cms/discussions) and stalled [pull requests](https://github.com/decaporg/decap-cms/pulls)
176
+ - Issues include everything:
177
+ - Outstanding issues from feature requests to bug reports
178
+ - [Issues closed as stale](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+%22Closing+as+stale%22) or without an effective solution
179
+ - [Discussions](https://github.com/decaporg/decap-cms/discussions)
180
+ - Stalled [pull requests](https://github.com/decaporg/decap-cms/pulls)
174
181
  - Many of the bugs, including the annoying crashes, have already been solved
175
182
  - The remaining bugs are mostly related to [unimplemented features](#current-limitations)
176
183
  - 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
@@ -179,7 +186,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
179
186
  - Responding to requests from the maintainer’s clients
180
187
  - Making the code clean and maintainable
181
188
 
182
- ![265 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20251025)<br>
189
+ ![270 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20251120)<br>
183
190
 
184
191
  ## Differentiators
185
192
 
@@ -293,6 +300,7 @@ We’ve made various improvements to help you get your work done faster and more
293
300
  - Common backend misconfigurations, such as an incorrect repository name or a missing OAuth client ID[^303]
294
301
  - A mismatch between the `format` and `extension` options for a collection
295
302
  - Invalid collection, collection file, field, variable type names (e.g. names containing `.` or `*`)
303
+ - `slug` templates containing slashes
296
304
  - Mutually exclusive config options (e.g. `field`, `fields` and `types` on List fields)
297
305
  - `collection` and `file` references on Relation fields
298
306
  - Duplicate variable type names
@@ -323,10 +331,12 @@ The [GitHub](https://decapcms.org/docs/github-backend/), [GitLab](https://decapc
323
331
  - Users won’t get a 404 Not Found error when you sign in to the GitLab backend.[^115]
324
332
  - We have implemented a workaround for a [GraphQL complexity limit issue](https://github.com/sveltia/sveltia-cms/issues/525) in GitLab 18.4.2, while Netlify/Decap CMS continues to suffer from the same problem.[^301]
325
333
  - Our Gitea/Forgejo backend is high-performing because it retrieves multiple entries at once. It also supports Git LFS ([documentation](https://docs.gitea.com/administration/git-lfs-setup)). Additionally, the backend won’t cause 400 Bad Request errors due to the presence of `DRAFT_MEDIA_FILES` in file paths.[^222]
334
+ - Unlike Netlify/Decap CMS, Sveltia CMS does not have a hardcoded API request timeout of 60 seconds, which can lead to unexpected errors when working with large files or slow networks.[^304] Though users may still experience timeouts due to server-side limitations, at least the client-side won’t impose an arbitrary limit.
326
335
  - Features the all-new [local repository workflow](#working-with-a-local-git-repository) for a better DX. See the [productivity section](#better-productivity) above.
327
336
  - An indicator is displayed in the account menu when using the local repository workflow.[^302]
328
337
  - Developers can select the local and remote backends while working on a local server.
329
338
  - The Test backend saves entries and assets in the browser’s [origin private file system](https://web.dev/articles/origin-private-file-system) (OPFS) so that changes are not discarded when the browser tab is closed or reloaded.[^194] The persistent storage support works with all modern browsers [except Safari](https://bugs.webkit.org/show_bug.cgi?id=254726).
339
+ - Commit message template supports the `{{author-email}}` template tag to include the author’s email address.
330
340
 
331
341
  ### Better i18n support
332
342
 
@@ -503,6 +513,7 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
503
513
  - `{{locale}}`: The current locale code.[^101]
504
514
  - `{{datetime}}`: The current date/time in [ISO 8601 format](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#date_time_string_format).[^102]
505
515
  - `{{uuid}}`, `{{uuid_short}}` and `{{uuid_shorter}}`: A random UUID or its shorter version, just like the [slug template tags](#using-a-random-id-for-an-entry-slug).[^12]
516
+ - `{{author-email}}`, `{{author-login}}` and `{{author-name}}`: The signed-in user’s email, login name and display name, respectively.[^305]
506
517
  - The `default` value is saved when you create a file collection item, not just a folder collection item.[^78]
507
518
  - List
508
519
  - It’s possible to [edit data files with a top-level list](#editing-data-files-with-a-top-level-list) using the new `root` option.[^148]
@@ -681,20 +692,17 @@ However, 100% feature parity is never planned, and some features are still missi
681
692
 
682
693
  There are still some missing features and limitations in Sveltia CMS compared to Netlify/Decap CMS. We are working hard to implement them. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates.
683
694
 
684
- The following advanced customization features are not yet implemented and will be added before the 1.0 release:
685
-
686
- - Preview for [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent) (`CMS.registerEditorComponent`)
687
- - [Custom widgets](https://decapcms.org/docs/custom-widgets/) (`CMS.registerWidget`)
688
- - [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) (`CMS.registerPreviewTemplate`) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
689
- - [Event hooks](https://decapcms.org/docs/registering-events/) (`CMS.registerEventListener`) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
690
-
691
- [Documentation](https://github.com/sveltia/sveltia-cms/issues/485) and site config validation are also under development. [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.
692
-
693
- 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.
694
-
695
- - [Editorial workflow](https://decapcms.org/docs/editorial-workflows/)
696
- - [Open authoring](https://decapcms.org/docs/open-authoring/)
697
- - [Nested collections](https://decapcms.org/docs/collection-nested/) (beta)
695
+ - The following advanced customization features are not yet implemented and will be added before the 1.0 release:
696
+ - Preview for [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent) (`CMS.registerEditorComponent`)
697
+ - [Custom widgets](https://decapcms.org/docs/custom-widgets/) (`CMS.registerWidget`)
698
+ - [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) (`CMS.registerPreviewTemplate`) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
699
+ - [Event hooks](https://decapcms.org/docs/registering-events/) (`CMS.registerEventListener`) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
700
+ - [Documentation](https://github.com/sveltia/sveltia-cms/issues/485) and site config validation are also under development.
701
+ - [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.
702
+ - 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.
703
+ - [Editorial workflow](https://decapcms.org/docs/editorial-workflows/)
704
+ - [Open authoring](https://decapcms.org/docs/open-authoring/)
705
+ - [Nested collections](https://decapcms.org/docs/collection-nested/) (beta)
698
706
 
699
707
  ### Features not to be implemented
700
708
 
@@ -739,7 +747,11 @@ There are some differences in behaviour between Sveltia CMS and Netlify/Decap CM
739
747
  - 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/).
740
748
  - 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.
741
749
 
742
- [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?type=bug) if you have encounter any compatibility issues that are not listed here.
750
+ There may be other minor differences in behaviour that are not listed here.
751
+
752
+ Sveltia CMS is also adding various config validation checks to help users identify potential issues, so you may see errors that were not present in Netlify/Decap CMS before. For example, Sveltia CMS raises an error if the `slug` collection option contains slashes (`/`), which is supposed to be invalid.
753
+
754
+ [Let us know](https://github.com/sveltia/sveltia-cms/issues/new?type=bug) if you have encounter any compatibility issues not mentioned here. We want to make the migration process as smooth as possible for our users.
743
755
 
744
756
  ### Framework support
745
757
 
@@ -821,9 +833,10 @@ Unfortunately, **we are unable to provide installation and setup support** at th
821
833
 
822
834
  ### Migration
823
835
 
824
- <!-- prettier-ignore -->
836
+ <!-- prettier-ignore-start -->
825
837
  > [!IMPORTANT]
826
838
  > Take a look at the [compatibility info](#compatibility) above first. Some Netlify/Decap CMS features are not yet implemented or will not be added to Sveltia CMS, meaning you may not be able to migrate right away.
839
+ <!-- prettier-ignore-end -->
827
840
 
828
841
  If you’re already using Netlify/Decap CMS with the GitHub, GitLab or Gitea/Forgejo backend and don’t have any unsupported features like editorial workflow or nested collections, migrating to Sveltia CMS is super easy — it works as a drop-in replacement.
829
842
 
@@ -1967,15 +1980,17 @@ While we don’t have dedicated developer/user support resources, you can post [
1967
1980
 
1968
1981
  Join us on [Discord](https://discord.gg/5hwCGqup5b) or ping us on [Bluesky](https://bsky.app/profile/sveltiacms.app) for a casual chat.
1969
1982
 
1970
- <!-- prettier-ignore -->
1983
+ <!-- prettier-ignore-start -->
1971
1984
  > [!IMPORTANT]
1972
1985
  > As described throughout this README, Sveltia CMS is specifically designed as a replacement for Netlify/Decap CMS. At this point, we assume that most developers and users are moving from the other product. We are happy to help you migrate, but **we cannot help you set up Sveltia CMS from scratch** through our free support channels.
1986
+ <!-- prettier-ignore-end -->
1973
1987
 
1974
1988
  Planning to build a website with Sveltia CMS? Looking for professional support? Maintainer [@kyoshino](https://github.com/kyoshino) is available for hire depending on your needs. Feel free to reach out!
1975
1989
 
1976
- <!-- prettier-ignore -->
1990
+ <!-- prettier-ignore-start -->
1977
1991
  > [!IMPORTANT]
1978
1992
  > Please do not email the maintainer for free support. Your emails will be ignored. Instead, use the [Discussions](https://github.com/sveltia/sveltia-cms/discussions) page.
1993
+ <!-- prettier-ignore-end -->
1979
1994
 
1980
1995
  ## Contributions
1981
1996
 
@@ -2029,7 +2044,7 @@ Due late 2026
2029
2044
 
2030
2045
  ### TBD
2031
2046
 
2032
- - Tackling most of the remaining Netlify/Decap CMS issues (some may be included in v2.0 or v3.0):
2047
+ - Tackling the remaining relevant Netlify/Decap CMS issues (some may be included in v2.0 or v3.0):
2033
2048
  - Their [top-voted features](https://github.com/decaporg/decap-cms/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc), including:
2034
2049
  - MDX support[^122]
2035
2050
  - [Saving drafts without editorial workflow](https://github.com/sveltia/sveltia-cms/discussions/440)[^261]
@@ -2710,3 +2725,7 @@ This project would not have been possible without the open source Netlify CMS pr
2710
2725
  [^302]: Netlify/Decap CMS [#3286](https://github.com/decaporg/decap-cms/issues/3286)
2711
2726
 
2712
2727
  [^303]: Netlify/Decap CMS [#3803](https://github.com/decaporg/decap-cms/issues/3803)
2728
+
2729
+ [^304]: Netlify/Decap CMS [#4538](https://github.com/decaporg/decap-cms/issues/4538), [#6371](https://github.com/decaporg/decap-cms/issues/6371)
2730
+
2731
+ [^305]: Netlify/Decap CMS [#1483](https://github.com/decaporg/decap-cms/issues/1483)