@sveltia/cms 0.116.0 → 0.117.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
@@ -142,9 +142,9 @@ Sveltia CMS is the only project that doesn’t inherit the complexity, technical
142
142
 
143
143
  This “total reboot” allows us to implement [hundreds of improvements](#differentiators) without getting stuck in a legacy system.
144
144
 
145
- We are continuing to 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, only Sveltia CMS is receiving consistent development, making outstanding progress, and providing [regular updates](https://github.com/sveltia/sveltia-cms/releases) and a [clear roadmap](#roadmap).
145
+ 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
146
 
147
- That’s why Sveltia CMS is the **true successor to Netlify CMS** not just a spiritual successor or a mere alternative.
147
+ That’s why Sveltia CMS is the **true successor to Netlify CMS**, rather than just an alternative or a spiritual successor.
148
148
 
149
149
  ### Our goals
150
150
 
@@ -164,7 +164,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
164
164
  - Some missing features will be implemented before or shortly after GA
165
165
  - Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
166
166
  - Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
167
- - So far, **265+ issues, or 575+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
167
+ - So far, **265+ issues, or 580+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
168
168
  - Target:
169
169
  - 250 issues, or 500 if including duplicates, by GA — We did it! 🎉
170
170
  - 400 issues, or 900 if including duplicates, in the future 💪
@@ -284,8 +284,23 @@ We’ve made various improvements to help you get your work done faster and more
284
284
  - Sveltia CMS supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections.[^60]
285
285
  - Also supports [multiple configuration files](#providing-multiple-configuration-files) to allow developers to modularize the configuration.[^197]
286
286
  - 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.
287
- - Improved TypeScript support: 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.
288
- - Sveltia CMS alerts you when there is a mismatch between the `format` and `extension` options of a collection.
287
+ - We provide only one package, `@sveltia/cms`, instead of many (`decap-cms`, `decap-cms-app`, `decap-cms-core` and so on), which is simpler and less confusing.
288
+ - Improved TypeScript support
289
+ - 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.
290
+ - The `SiteConfig` type is exported from the main package, so you can import it directly to construct your configuration object with proper type checking outside of the `CMS.init()` method.
291
+ - Config validation enhancements:
292
+ - Sveltia CMS has additional validation rules designed to prevent common misconfigurations that could lead to runtime errors:
293
+ - Common backend misconfigurations, such as an incorrect repository name or a missing OAuth client ID[^303]
294
+ - A mismatch between the `format` and `extension` options for a collection
295
+ - Invalid collection, collection file, field, variable type names (e.g. names containing `.` or `*`)
296
+ - Mutually exclusive config options (e.g. `field`, `fields` and `types` on List fields)
297
+ - `collection` and `file` references on Relation fields
298
+ - Duplicate variable type names
299
+ - Unsupported widgets and options
300
+ - (more to come)
301
+ - The error messages include the specific collection, field, variable type and fields names, rather than indexes such as `collections[7].fields[9].types[1]`. This helps you to quickly identify the problematic configuration.
302
+ - There are no false error messages saying `should match case "color" schema`.
303
+ - There are no error messages that advise to use deprecated camel case options like `valueField`.
289
304
 
290
305
  ### Better backend support
291
306
 
@@ -664,15 +679,16 @@ However, 100% feature parity is never planned, and some features are still missi
664
679
 
665
680
  ### Current limitations
666
681
 
667
- These Netlify/Decap CMS features are **not yet implemented** in Sveltia CMS. We are working hard to add them before the 1.0 release. Check our [release notes](https://github.com/sveltia/sveltia-cms/releases) and [Bluesky](https://bsky.app/profile/sveltiacms.app) for updates.
682
+ 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
+
684
+ The following advanced customization features are not yet implemented and will be added before the 1.0 release:
668
685
 
669
- - Comprehensive site config validation
670
686
  - Preview for [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent) (`CMS.registerEditorComponent`)
671
687
  - [Custom widgets](https://decapcms.org/docs/custom-widgets/) (`CMS.registerWidget`)
672
688
  - [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) (`CMS.registerPreviewTemplate`) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
673
689
  - [Event hooks](https://decapcms.org/docs/registering-events/) (`CMS.registerEventListener`) ([#167](https://github.com/sveltia/sveltia-cms/issues/167))
674
690
 
675
- [Localization](https://github.com/sveltia/sveltia-cms/blob/main/src/lib/locales/README.md), [documentation](https://github.com/sveltia/sveltia-cms/issues/485) and a [demo site](https://github.com/sveltia/sveltia-cms/issues/1) will all be prepared once the 1.0 Release Candidate is ready.
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.
676
692
 
677
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.
678
694
 
@@ -685,7 +701,7 @@ Due to the complexity, we have decided to **defer the following features to the
685
701
  The following Netlify/Decap CMS features will not be added to Sveltia CMS, primarily due to deprecation and performance considerations.
686
702
 
687
703
  - **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.
688
- - **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.
704
+ - **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. It’s now officially [deprecated](https://docs.netlify.com/manage/security/secure-access-to-sites/git-gateway/) according to the Netlify documentation. We plan to develop a GraphQL-based high-performance alternative [in the future](#roadmap) to secure a migration path for existing Git Gateway users.
689
705
  - **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/).
690
706
  - [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.
691
707
  - 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.
@@ -1001,7 +1017,7 @@ You can specify an icon for each collection for easy identification in the colle
1001
1017
  1. Reload Sveltia CMS once the updated config file is deployed.
1002
1018
 
1003
1019
  ```yaml
1004
- fields:
1020
+ collections:
1005
1021
  - name: tags
1006
1022
  label: Tags
1007
1023
  icon: sell # or any icon name
@@ -2304,7 +2320,7 @@ This project would not have been possible without the open source Netlify CMS pr
2304
2320
 
2305
2321
  [^111]: Netlify/Decap CMS [#7190](https://github.com/decaporg/decap-cms/issues/7190), [#7218](https://github.com/decaporg/decap-cms/issues/7218), [#7392](https://github.com/decaporg/decap-cms/issues/7392)
2306
2322
 
2307
- [^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)
2323
+ [^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), [#7655](https://github.com/decaporg/decap-cms/issues/7655)
2308
2324
 
2309
2325
  [^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), [#7631](https://github.com/decaporg/decap-cms/issues/7631), [#7643](https://github.com/decaporg/decap-cms/issues/7643), [#7644](https://github.com/decaporg/decap-cms/issues/7644), [#7648](https://github.com/decaporg/decap-cms/issues/7648) — 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).
2310
2326
 
@@ -2568,7 +2584,7 @@ This project would not have been possible without the open source Netlify CMS pr
2568
2584
 
2569
2585
  [^245]: Netlify/Decap CMS [#1769](https://github.com/decaporg/decap-cms/issues/1769)
2570
2586
 
2571
- [^246]: Netlify/Decap CMS [#1074](https://github.com/decaporg/decap-cms/issues/1074), [#1693](https://github.com/decaporg/decap-cms/issues/1693), [#3803](https://github.com/decaporg/decap-cms/issues/3803)
2587
+ [^246]: Netlify/Decap CMS [#1074](https://github.com/decaporg/decap-cms/issues/1074), [#1693](https://github.com/decaporg/decap-cms/issues/1693)
2572
2588
 
2573
2589
  [^247]: Netlify/Decap CMS [#1794](https://github.com/decaporg/decap-cms/issues/1794), [#2966](https://github.com/decaporg/decap-cms/issues/2966)
2574
2590
 
@@ -2590,7 +2606,7 @@ This project would not have been possible without the open source Netlify CMS pr
2590
2606
 
2591
2607
  [^256]: Netlify/Decap CMS [#2845](https://github.com/decaporg/decap-cms/issues/2845)
2592
2608
 
2593
- [^257]: Netlify/Decap CMS [#4353](https://github.com/decaporg/decap-cms/issues/4353), [#7513](https://github.com/decaporg/decap-cms/issues/7513), [#7544](https://github.com/decaporg/decap-cms/issues/7544)
2609
+ [^257]: Netlify/Decap CMS [#4353](https://github.com/decaporg/decap-cms/issues/4353), [#7513](https://github.com/decaporg/decap-cms/issues/7513), [#7544](https://github.com/decaporg/decap-cms/issues/7544), [#7654](https://github.com/decaporg/decap-cms/issues/7654)
2594
2610
 
2595
2611
  [^258]: Netlify/Decap CMS [#663](https://github.com/decaporg/decap-cms/issues/663), [#6729](https://github.com/decaporg/decap-cms/discussions/6729), [#7466](https://github.com/decaporg/decap-cms/discussions/7466), [#7545](https://github.com/decaporg/decap-cms/issues/7545)
2596
2612
 
@@ -2677,3 +2693,5 @@ This project would not have been possible without the open source Netlify CMS pr
2677
2693
  [^301]: Netlify/Decap CMS [#7627](https://github.com/decaporg/decap-cms/issues/7627)
2678
2694
 
2679
2695
  [^302]: Netlify/Decap CMS [#3286](https://github.com/decaporg/decap-cms/issues/3286)
2696
+
2697
+ [^303]: Netlify/Decap CMS [#3803](https://github.com/decaporg/decap-cms/issues/3803)