@sveltia/cms 0.109.1 → 0.110.1

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,8 +1,8 @@
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, quick replacement for Netlify CMS and Decap CMS. While some features are still missing, we’ve already solved over 250 issues reported in the predecessor’s repository, from critical bugs to top feature requests.
3
+ Sveltia CMS is a Git-based lightweight headless CMS under active development as a modern, powerful, effortless replacement for Netlify CMS (now Decap CMS). While some features are still missing, we’ve already solved over 260 issues reported in the predecessor’s repository, from critical bugs to top feature requests.
4
4
 
5
- Built from the ground up, Sveltia CMS offers excellent UX, DX, performance, security and internationalization (i18n) support. Our numerous enhancements across the board ensure smooth daily workflows. This free, open source alternative to Netlify/Decap CMS is now in public beta, with version 1.0 expected in early 2026.
5
+ Built from the ground up, Sveltia CMS offers excellent UX, DX, performance, security and internationalization (i18n) support. Our numerous enhancements across the board ensure smooth daily workflows. This free, open source alternative to Netlify/Decap CMS is currently in public beta, with version 1.0 expected in early 2026.
6
6
 
7
7
  ![Git-based headless CMS made right](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-1.webp?20250405)<br>
8
8
 
@@ -124,7 +124,7 @@ Due to its unfortunate abandonment in early 2022, Netlify CMS spawned 3 successo
124
124
  - **Sveltia CMS**: not a fork but a **complete rewrite**
125
125
  - Started in November 2022, first appeared on GitHub in March 2023
126
126
  - ✅ Actively developed with frequent releases and numerous improvements
127
- - ✅ Solved more than 250 issues reported in the Netlify/Decap CMS repository
127
+ - ✅ Solved more than 260 issues reported in the Netlify/Decap CMS repository
128
128
  - [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version
129
129
  - [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
130
130
  - ⚠️ Mostly low activity with occasional releases and a few minor improvements
@@ -152,7 +152,7 @@ As we continue to add more features, we hope that our product will eventually be
152
152
 
153
153
  ## Project Status
154
154
 
155
- Sveltia CMS is currently in **beta** and version 1.0 (GA) is expected to ship in early 2026. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and follow us on [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates. See also our [roadmap](#roadmap).
155
+ Sveltia CMS is currently in **beta**, with version 1.0 (GA) scheduled for release in early 2026. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and follow us on [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates. See also our [roadmap](#roadmap).
156
156
 
157
157
  While we fix reported bugs as quickly as possible, usually within 24 hours, our overall progress may be slower than you think. The thing is, it’s not just a personal project of [@kyoshino](https://github.com/kyoshino), but also a complicated system involving various kinds of activities that require considerable effort:
158
158
 
@@ -160,7 +160,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
160
160
  - Some missing features will be implemented before or shortly after GA
161
161
  - Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
162
162
  - Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
163
- - So far, **250+ issues, or 550+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
163
+ - So far, **260+ issues, or 560+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
164
164
  - Target:
165
165
  - 250 issues, or 500 if including duplicates, by GA — We did it! 🎉
166
166
  - 400 issues, or 800 if including duplicates, in the future 💪
@@ -174,7 +174,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
174
174
  - Responding to requests from the maintainer’s clients
175
175
  - Making the code clean and maintainable
176
176
 
177
- ![250 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20250814)<br>
177
+ ![260 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20251005)<br>
178
178
 
179
179
  ## Differentiators
180
180
 
@@ -602,7 +602,9 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
602
602
  - It supports multiple file selection.[^239] This can be enabled by setting the new `multiple` File/Image widget option to `true`. For compatibility with other media libraries, the `media_library.config.multiple` option is also supported.
603
603
  - It comes with a [built-in image optimizer](#optimizing-images-for-upload). With a few lines of configuration, images selected by users for upload are automatically converted to WebP format for reduced size,[^199] and it’s also possible to specify a maximum width and/or height.[^200] SVG images can also be optimized.
604
604
  - The `max_file_size` option for the File/Image widget can be defined within the global `media_library` option, using `default` as the library name. It applies to all File/Image entry fields, as well as direct uploads to the Asset Library. The option can also be part of the [new `media_libraries` option](#configuring-multiple-media-libraries).
605
- - Unlike Netlify/Decap CMS, files are uploaded with their original names. Uppercase letters and spaces are not converted to lowercase letters and hyphens.[^97] If you want to slugify filenames according to the [`slug` option](https://decapcms.org/docs/configuration-options/#slug-type), use the `slugify_filename` [default media library option](#configuring-multiple-media-libraries).
605
+ - Unlike Netlify/Decap CMS, files are uploaded with their original names. Sanitization is still applied to avoid issues with special characters, but uppercase letters and spaces are not converted to lowercase letters and hyphens.[^97] If you want to slugify filenames according to the [`slug` option](https://decapcms.org/docs/configuration-options/#slug-type), use the `slugify_filename` [default media library option](#configuring-multiple-media-libraries).
606
+ - Uploadcare
607
+ - An API-based integration allows users to select existing files from their Uploadcare account.[^247]
606
608
  - Other integrations
607
609
  - Integrates stock photo providers, including Pexels, Pixabay and Unsplash.[^8] Developers can [disable them](#disabling-stock-assets) if needed.
608
610
  - More integration options, including Amazon S3 and Cloudflare R2/Images/Stream, would be added in the future.
@@ -630,6 +632,7 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
630
632
  ### Better localization
631
633
 
632
634
  - The application UI locale is automatically selected based on the preferred language set with the browser.[^132] Users can also change the locale in the application settings. Therefore, the `locale` configuration option is ignored and `CMS.registerLocale()` is not required.
635
+ - The application UI is ready to be localized into RTL languages like Arabic and Hebrew.[^245]
633
636
  - The List widget’s `label` and `label_singular` are not converted to lowercase, which is especially problematic in German, where all nouns are capitalized.[^98]
634
637
  - Long menu item labels, especially in non-English locales, don’t overflow the dropdown container.[^117][^265]
635
638
 
@@ -641,10 +644,10 @@ However, 100% feature parity is never planned, and some features are still missi
641
644
 
642
645
  ### Current limitations
643
646
 
644
- These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are working hard to add them before the 1.0 release due early 2026. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates.
647
+ These Netlify/Decap CMS features are not yet implemented in Sveltia CMS. We are working hard to add them by the end of 2025. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates.
645
648
 
646
649
  - Comprehensive site config validation
647
- - [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) media libraries ([#4](https://github.com/sveltia/sveltia-cms/discussions/4))
650
+ - [Cloudinary](https://decapcms.org/docs/cloudinary/) media library ([#4](https://github.com/sveltia/sveltia-cms/discussions/4))
648
651
  - Preview for [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent)
649
652
  - [Custom widgets](https://decapcms.org/docs/custom-widgets/)
650
653
  - [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
@@ -661,7 +664,7 @@ Due to the complexity, we have decided to defer the following features to the 1.
661
664
 
662
665
  ### Features not to be implemented
663
666
 
664
- The following Netlify/Decap CMS features will not be implemented in Sveltia CMS, primarily due to deprecation and performance considerations.
667
+ The following Netlify/Decap CMS features will not be added to Sveltia CMS, primarily due to deprecation and performance considerations.
665
668
 
666
669
  - **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.
667
670
  - **Git Gateway backend**: Also for performance reasons. [Git Gateway](https://github.com/netlify/git-gateway) has not been actively maintained since Netlify CMS was abandoned, and it’s known to be slow and prone to rate limit violations. We plan to develop a GraphQL-based high-performance alternative [in the future](#roadmap) to secure a migration path for existing Git Gateway users.
@@ -680,7 +683,8 @@ The following Netlify/Decap CMS features will not be implemented in Sveltia CMS,
680
683
  - The `allow_multiple` option for the File and Image widgets: It’s a confusing option that defaults to `true`, and there is a separate option called `media_library.config.multiple`. We have added the new `multiple` option instead, which is more intuitive and works with all media libraries.
681
684
  - The theme and keymap inline settings for the Code widget, along with support for some languages. Instead of [CodeMirror](https://codemirror.net/), we use Lexical’s code block functionality powered by [Prism](https://prismjs.com/), which is slated to be [replaced by Shiki](https://github.com/facebook/lexical/issues/6575).
682
685
  - Remark plugins for the Markdown widget: Not compatible with our Lexical-based rich text editor.
683
- - Extra features in the [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) media libraries: We plan to integrate these services using their APIs instead of pre-built widgets. This means third-party upload sources and other features will be unavailable. We plan to support some of the sources, camera access and image editing in the future.
686
+ - The `use_secure_url` option for the Cloudinary media library: Insecure URLs should never be used.
687
+ - Additional features of the [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/) media libraries: Sveltia CMS uses their APIs to integrate the services instead of their pre-built widgets, as the [Uploadcare jQuery File Uploader](https://uploadcare.com/docs/uploads/file-uploader/) has been deprecated and the [Cloudinary Media Library Widget](https://cloudinary.com/documentation/media_library_widget) does not provide a seamless UX. This means the features found in the widgets are unavailable. However, we plan to support some third-party upload sources, camera access and image editing in the future.
684
688
  - An absolute URL in the [`public_folder`](https://decapcms.org/docs/configuration-options/#public-folder) option: Such configuration is not recommended, as stated in the Netlify/Decap CMS document.
685
689
  - Performance-related options: Sveltia CMS has [drastically improved performance](#better-performance) with GraphQL enabled by default, so these are no longer relevant:
686
690
  - Global: [`search`](https://decapcms.org/docs/configuration-options/#search)
@@ -782,7 +786,7 @@ Unfortunately, **we are unable to provide installation and setup support** at th
782
786
 
783
787
  <!-- prettier-ignore -->
784
788
  > [!IMPORTANT]
785
- > Take a look at the [compatibility info](#compatibility) above first. Some Netlify/Decap CMS features have not yet been implemented or will never be added to Sveltia CMS.
789
+ > 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.
786
790
 
787
791
  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.
788
792
 
@@ -818,7 +822,7 @@ For a better DX, we recommend [setting up the JSON schema](#enabling-autocomplet
818
822
 
819
823
  If you’re using any features listed in the [current limitations](#current-limitations) section, you’ll need to wait until they are implemented in Sveltia CMS. We’re working hard to add these features in the coming months.
820
824
 
821
- If you’re using any features listed in the [features not to be implemented](#features-not-to-be-implemented) section, you need to find a workaround. For example, if you’re using the Azure or Bitbucket backend, consider migrating to GitHub, GitLab or Gitea/Forgejo. See the next section if you’re a Git Gateway user.
825
+ If you’re using any [features that are not going to be implemented](#features-not-to-be-implemented), you need to find a workaround. For example, if you’re using the Azure or Bitbucket backend, consider migrating to GitHub, GitLab, Gitea or Forgejo. See the next section if you’re a Git Gateway user.
822
826
 
823
827
  #### Migrating from Git Gateway backend
824
828
 
@@ -1349,7 +1353,7 @@ media_libraries:
1349
1353
  defaultOperations: '/resize/800x600/'
1350
1354
  ```
1351
1355
 
1352
- Note: Cloudinary and Uploadcare are not yet supported in Sveltia CMS.
1356
+ Note: Cloudinary is not yet supported in Sveltia CMS.
1353
1357
 
1354
1358
  Similar to the conventional `media_library` option, the unified `media_libraries` option can also be defined for each File/Image field. This allows you to use different media library configurations for different fields. For example, you can optimize images for upload in one field while using the default settings in another:
1355
1359
 
@@ -1907,8 +1911,7 @@ Due early 2026
1907
1911
 
1908
1912
  - Enhanced [compatibility with Netlify/Decap CMS](#current-limitations)
1909
1913
  - Tackling some more Netlify/Decap CMS issues:
1910
- - Several Cloudinary and Uploadcare media library issues, including authentication[^288] and selection of existing files[^247]
1911
- - [RTL localization support](https://github.com/sveltia/sveltia-cms/issues/385)[^245]
1914
+ - Several Cloudinary media library issues, including authentication[^288]
1912
1915
  - Thorough site config validation[^246]
1913
1916
  - [Entry pre-validation/normalization](https://github.com/sveltia/sveltia-cms/issues/395)[^248]
1914
1917
  - Accessibility audit
@@ -1969,6 +1972,7 @@ Due late 2026
1969
1972
  - Scheduled posts[^167]
1970
1973
  - [Credential management](https://github.com/sveltia/sveltia-cms/issues/444) for service API keys, deploy hook URL, etc.
1971
1974
  - Proxy for services that don’t support [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS):
1975
+ - Cloudinary media library’s file listing
1972
1976
  - [DeepL Translate](https://github.com/sveltia/sveltia-cms/issues/437)
1973
1977
  - [Git LFS support for GitHub](https://github.com/sveltia/sveltia-cms/discussions/353)[^244]
1974
1978
  - Search enhancements:
@@ -2253,7 +2257,7 @@ This project would not have been possible without the open source Netlify CMS pr
2253
2257
 
2254
2258
  [^112]: Netlify/Decap CMS [#5815](https://github.com/decaporg/decap-cms/issues/5815), [#6522](https://github.com/decaporg/decap-cms/issues/6522), [#6532](https://github.com/decaporg/decap-cms/issues/6532), [#6588](https://github.com/decaporg/decap-cms/issues/6588), [#6617](https://github.com/decaporg/decap-cms/issues/6617), [#6640](https://github.com/decaporg/decap-cms/issues/6640), [#6663](https://github.com/decaporg/decap-cms/issues/6663), [#6695](https://github.com/decaporg/decap-cms/issues/6695), [#6697](https://github.com/decaporg/decap-cms/issues/6697), [#6764](https://github.com/decaporg/decap-cms/issues/6764), [#6765](https://github.com/decaporg/decap-cms/issues/6765), [#6835](https://github.com/decaporg/decap-cms/issues/6835), [#6983](https://github.com/decaporg/decap-cms/issues/6983), [#7205](https://github.com/decaporg/decap-cms/issues/7205), [#7450](https://github.com/decaporg/decap-cms/issues/7450), [#7453](https://github.com/decaporg/decap-cms/issues/7453), [#7572](https://github.com/decaporg/decap-cms/issues/7572), [#7602](https://github.com/decaporg/decap-cms/issues/7602)
2255
2259
 
2256
- [^113]: Netlify/Decap CMS [#5656](https://github.com/decaporg/decap-cms/issues/5656), [#5837](https://github.com/decaporg/decap-cms/issues/5837), [#5972](https://github.com/decaporg/decap-cms/issues/5972), [#6476](https://github.com/decaporg/decap-cms/issues/6476), [#6516](https://github.com/decaporg/decap-cms/issues/6516), [#6930](https://github.com/decaporg/decap-cms/issues/6930), [#7080](https://github.com/decaporg/decap-cms/issues/7080), [#7105](https://github.com/decaporg/decap-cms/issues/7105), [#7106](https://github.com/decaporg/decap-cms/issues/7106), [#7119](https://github.com/decaporg/decap-cms/issues/7119), [#7176](https://github.com/decaporg/decap-cms/issues/7176), [#7194](https://github.com/decaporg/decap-cms/issues/7194), [#7244](https://github.com/decaporg/decap-cms/issues/7244), [#7278](https://github.com/decaporg/decap-cms/issues/7278), [#7301](https://github.com/decaporg/decap-cms/issues/7301), [#7342](https://github.com/decaporg/decap-cms/issues/7342), [#7348](https://github.com/decaporg/decap-cms/issues/7348), [#7354](https://github.com/decaporg/decap-cms/issues/7354), [#7376](https://github.com/decaporg/decap-cms/issues/7376), [#7408](https://github.com/decaporg/decap-cms/issues/7408), [#7412](https://github.com/decaporg/decap-cms/issues/7412), [#7413](https://github.com/decaporg/decap-cms/issues/7413), [#7422](https://github.com/decaporg/decap-cms/issues/7422), [#7427](https://github.com/decaporg/decap-cms/issues/7427), [#7434](https://github.com/decaporg/decap-cms/issues/7434), [#7438](https://github.com/decaporg/decap-cms/issues/7438), [#7454](https://github.com/decaporg/decap-cms/issues/7454), [#7464](https://github.com/decaporg/decap-cms/issues/7464), [#7471](https://github.com/decaporg/decap-cms/issues/7471), [#7485](https://github.com/decaporg/decap-cms/issues/7485), [#7499](https://github.com/decaporg/decap-cms/issues/7499), [#7515](https://github.com/decaporg/decap-cms/issues/7515), [#7564](https://github.com/decaporg/decap-cms/issues/7564), [#7571](https://github.com/decaporg/decap-cms/issues/7571), [#7574](https://github.com/decaporg/decap-cms/issues/7574), [#7580](https://github.com/decaporg/decap-cms/issues/7580), [#7583](https://github.com/decaporg/decap-cms/issues/7583), [#7589](https://github.com/decaporg/decap-cms/issues/7589), [#7593](https://github.com/decaporg/decap-cms/issues/7593), [#7595](https://github.com/decaporg/decap-cms/issues/7595), [#7601](https://github.com/decaporg/decap-cms/issues/7601), [#7610](https://github.com/decaporg/decap-cms/issues/7610), [#7614](https://github.com/decaporg/decap-cms/issues/7614) — These `removeChild` crashes are common in React apps, likely caused by a [browser extension](https://github.com/facebook/react/issues/17256) or [Google Translate](https://github.com/facebook/react/issues/11538).
2260
+ [^113]: Netlify/Decap CMS [#5656](https://github.com/decaporg/decap-cms/issues/5656), [#5837](https://github.com/decaporg/decap-cms/issues/5837), [#5972](https://github.com/decaporg/decap-cms/issues/5972), [#6476](https://github.com/decaporg/decap-cms/issues/6476), [#6516](https://github.com/decaporg/decap-cms/issues/6516), [#6930](https://github.com/decaporg/decap-cms/issues/6930), [#7080](https://github.com/decaporg/decap-cms/issues/7080), [#7105](https://github.com/decaporg/decap-cms/issues/7105), [#7106](https://github.com/decaporg/decap-cms/issues/7106), [#7119](https://github.com/decaporg/decap-cms/issues/7119), [#7176](https://github.com/decaporg/decap-cms/issues/7176), [#7194](https://github.com/decaporg/decap-cms/issues/7194), [#7244](https://github.com/decaporg/decap-cms/issues/7244), [#7278](https://github.com/decaporg/decap-cms/issues/7278), [#7301](https://github.com/decaporg/decap-cms/issues/7301), [#7342](https://github.com/decaporg/decap-cms/issues/7342), [#7348](https://github.com/decaporg/decap-cms/issues/7348), [#7354](https://github.com/decaporg/decap-cms/issues/7354), [#7376](https://github.com/decaporg/decap-cms/issues/7376), [#7408](https://github.com/decaporg/decap-cms/issues/7408), [#7412](https://github.com/decaporg/decap-cms/issues/7412), [#7413](https://github.com/decaporg/decap-cms/issues/7413), [#7422](https://github.com/decaporg/decap-cms/issues/7422), [#7427](https://github.com/decaporg/decap-cms/issues/7427), [#7434](https://github.com/decaporg/decap-cms/issues/7434), [#7438](https://github.com/decaporg/decap-cms/issues/7438), [#7454](https://github.com/decaporg/decap-cms/issues/7454), [#7464](https://github.com/decaporg/decap-cms/issues/7464), [#7471](https://github.com/decaporg/decap-cms/issues/7471), [#7485](https://github.com/decaporg/decap-cms/issues/7485), [#7499](https://github.com/decaporg/decap-cms/issues/7499), [#7515](https://github.com/decaporg/decap-cms/issues/7515), [#7564](https://github.com/decaporg/decap-cms/issues/7564), [#7571](https://github.com/decaporg/decap-cms/issues/7571), [#7574](https://github.com/decaporg/decap-cms/issues/7574), [#7580](https://github.com/decaporg/decap-cms/issues/7580), [#7583](https://github.com/decaporg/decap-cms/issues/7583), [#7589](https://github.com/decaporg/decap-cms/issues/7589), [#7593](https://github.com/decaporg/decap-cms/issues/7593), [#7595](https://github.com/decaporg/decap-cms/issues/7595), [#7601](https://github.com/decaporg/decap-cms/issues/7601), [#7610](https://github.com/decaporg/decap-cms/issues/7610), [#7614](https://github.com/decaporg/decap-cms/issues/7614), [#7620](https://github.com/decaporg/decap-cms/issues/7620), [#7621](https://github.com/decaporg/decap-cms/issues/7621), [#7622](https://github.com/decaporg/decap-cms/issues/7622) — These `removeChild` crashes are common in React apps, likely caused by a [browser extension](https://github.com/facebook/react/issues/17256) or [Google Translate](https://github.com/facebook/react/issues/11538).
2257
2261
 
2258
2262
  [^114]: Netlify/Decap CMS [#5029](https://github.com/decaporg/decap-cms/issues/5029), [#5048](https://github.com/decaporg/decap-cms/issues/5048)
2259
2263