@sveltia/cms 0.113.4 → 0.113.6

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,9 +1,11 @@
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). 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.
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). While some features are still missing, we’ve already solved over 265 issues reported in the predecessor’s repository, 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. 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
+ Welcome to the only Netlify CMS successor you can trust!
8
+
7
9
  ![Git-based headless CMS made right](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-1.webp?20250405)<br>
8
10
 
9
11
  ![Fast and lightweight; modern UX/UI with dark mode](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/screenshot-2.webp?20250405)<br>
@@ -124,7 +126,7 @@ Due to its unfortunate abandonment in early 2022, Netlify CMS spawned 3 successo
124
126
  - **Sveltia CMS**: not a fork but a **complete rewrite**
125
127
  - Started in November 2022, first appeared on GitHub in March 2023
126
128
  - ✅ Actively developed with frequent releases and numerous improvements
127
- - ✅ Solved more than 260 issues reported in the Netlify/Decap CMS repository
129
+ - ✅ Solved more than 265 issues reported in the Netlify/Decap CMS repository
128
130
  - [Decap CMS](https://github.com/decaporg/decap-cms): a rebranded version
129
131
  - [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
132
  - ⚠️ Mostly low activity with only occasional releases and a few minor improvements
@@ -136,7 +138,7 @@ Sveltia CMS is the only project that doesn’t inherit the complexity, technical
136
138
  - We don’t reuse any part of the predecessor’s codebase
137
139
  - We incorporate i18n support into the core instead of adding it as an afterthought
138
140
  - We closely monitor and analyze the predecessor’s issue tracker
139
- - We have rearchitected the entire user experience (UX) and developer experience (DX)
141
+ - We rearchitect the entire user experience (UX) and developer experience (DX)
140
142
 
141
143
  This “total reboot” allows us to implement [hundreds of improvements](#differentiators) without getting stuck in a legacy system, establishing Sveltia CMS as a **unparalleled successor** to Netlify CMS.
142
144
 
@@ -156,11 +158,11 @@ Sveltia CMS is currently in **beta**, with version 1.0 (GA) scheduled for releas
156
158
 
157
159
  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
160
 
159
- - Ensuring near-complete [compatibility with Netlify/Decap CMS](#current-limitations)
161
+ - Ensuring near-complete [compatibility with Netlify/Decap CMS](#compatibility)
160
162
  - Some missing features will be implemented before or shortly after GA
161
163
  - Providing partial [compatibility with Static CMS](#compatibility-with-static-cms)
162
164
  - Tackling as many [Netlify/Decap CMS issues](https://github.com/decaporg/decap-cms/issues) as possible
163
- - So far, **260+ issues, or 570+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
165
+ - So far, **265+ issues, or 575+ if including duplicates, have been effectively solved** in Sveltia CMS (Yes, you read it right)
164
166
  - Target:
165
167
  - 250 issues, or 500 if including duplicates, by GA — We did it! 🎉
166
168
  - 400 issues, or 900 if including duplicates, in the future 💪
@@ -174,7 +176,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
174
176
  - Responding to requests from the maintainer’s clients
175
177
  - Making the code clean and maintainable
176
178
 
177
- ![260 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20251005)<br>
179
+ ![265 Netlify/Decap CMS issues solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20251025)<br>
178
180
 
179
181
  ## Differentiators
180
182
 
@@ -205,7 +207,7 @@ Note: This lengthy section compares Sveltia CMS with both Netlify CMS and Decap
205
207
  - Built completely from scratch with [Svelte](https://svelte.dev/) instead of forking React-based Netlify/Decap CMS. The app starts fast and stays fast with [no virtual DOM overhead](https://svelte.dev/blog/virtual-dom-is-pure-overhead). Note that Svelte is a compiler and Sveltia CMS is framework-agnostic; it’s served as a vanilla JavaScript bundle.
206
208
  - Small footprint: The bundle size is less than 500 KB when minified and [brotlied](https://en.wikipedia.org/wiki/Brotli), which is much lighter than Netlify CMS (1.5 MB), Decap CMS (1.5 MB) and Static CMS (2.6 MB).[^57][^64] This significant reduction in size is thanks to the combination of [Svelte 5](https://svelte.dev/blog/svelte-5-is-alive) and [Vite](https://vite.dev/). Sveltia CMS also dynamically loads certain dependencies only when needed, further reducing the initial load time.
207
209
  - Uses the GraphQL API for GitHub and GitLab to quickly fetch content at once, so that entries and assets can be listed and searched instantly[^32][^65] (the useless `search` configuration option is therefore ignored). It also avoids the slowness and potential API rate limit violations caused by hundreds of requests with Relation fields.[^14]
208
- - Note: Loading files from GitLab is currently slower than usual because we have implemented a workaround for a [GraphQL complexity limit issue](https://github.com/sveltia/sveltia-cms/issues/525) in GitLab 18.4.2. This workaround will be removed in the future once GitLab has fixed the issue.
210
+ - Note: Loading files from GitLab is currently slower than usual because we have implemented a workaround for a [GraphQL complexity limit issue](https://github.com/sveltia/sveltia-cms/issues/525) in GitLab 18.4.2. This workaround will be removed in the future once GitLab has relaxed the limit.
209
211
  - Saving entries and assets to GitHub is also much faster thanks to the [GraphQL mutation](https://github.blog/changelog/2021-09-13-a-simpler-api-for-authoring-commits/).
210
212
  - The Gitea/Forgejo backend is also faster because it utilizes an efficient API method introduced in Gitea 1.24 and Forgejo 12.0.
211
213
  - Our [local repository workflow](#working-with-a-local-git-repository) utilizes the modern [File System Access API](https://developer.chrome.com/docs/capabilities/web-apis/file-system-access) to read and write files natively through the web browser, rather than using a slow, ad hoc REST API through a proxy server.
@@ -284,22 +286,24 @@ We’ve made various improvements to help you get your work done faster and more
284
286
 
285
287
  ### Better backend support
286
288
 
287
- The [GitHub](https://decapcms.org/docs/github-backend/), [GitLab](https://decapcms.org/docs/gitlab-backend/), [Gitea/Forgejo](https://decapcms.org/docs/gitea-backend/) and [Test](https://decapcms.org/docs/test-backend/) backends are available in Sveltia CMS. For [performance reasons](#features-not-to-be-implemented), we don’t support [Azure](https://decapcms.org/docs/azure-backend/), [Bitbucket](https://decapcms.org/docs/bitbucket-backend/) and [Git Gateway](https://decapcms.org/docs/git-gateway-backend/).
289
+ The [GitHub](https://decapcms.org/docs/github-backend/), [GitLab](https://decapcms.org/docs/gitlab-backend/), [Gitea/Forgejo](https://decapcms.org/docs/gitea-backend/) and [Test](https://decapcms.org/docs/test-backend/) backends are available in Sveltia CMS. For performance reasons, [we don’t plan to support](#features-not-to-be-implemented) other backends.
288
290
 
289
291
  - Uses the GraphQL API where possible for better performance, as mentioned above. You don’t need to set the `use_graphql` option to enable it for GitHub and GitLab.[^65]
290
292
  - The Git branch name is automatically set to the repository’s default branch (`main`, `master` or whatever) if not specified in the configuration file, preventing data loading errors due to a hardcoded fallback to `master`.[^95][^27] If a branch name is specified, it works as expected.[^232]
291
293
  - It’s possible to [disable automatic deployments](#disabling-automatic-deployments) by default or on demand to save costs and resources associated with CI/CD and to publish multiple changes at once.[^24]
292
294
  - Users can quickly open the source file of an entry or asset in your repository via the 3-dot menu when Developer Mode is enabled.
293
295
  - Service status checks are performed frequently and an incident notification is displayed prominently.
294
- - We provide [our own OAuth client](https://github.com/sveltia/sveltia-cms-auth) for GitHub and GitLab.
296
+ - Authentication improvements:
297
+ - We provide [our own OAuth client](https://github.com/sveltia/sveltia-cms-auth) for GitHub and GitLab.
298
+ - The external OAuth window will not get stuck on a blank page after signing in.[^300]
299
+ - Users can sign in directly with a Git-based backend using a personal access token (PAT) instead of going through the regular OAuth flow.[^258]
300
+ - The OAuth access token is automatically renewed when using PKCE authorization.[^224]
295
301
  - GitLab-specific improvements:
296
302
  - Implements the GraphQL API with proper authorization.[^290]
297
303
  - Comes with background [service status](https://status.gitlab.com/) checking, just like GitHub.
298
304
  - Supports Git LFS ([documentation](https://docs.gitlab.com/topics/git/lfs/)).[^231]
299
305
  - Users won’t get a 404 Not Found error when you sign in to the GitLab backend.[^115]
300
306
  - 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]
301
- - Users can sign in directly with a Git-based backend using a personal access token (PAT) instead of going through the regular OAuth flow.[^258]
302
- - The OAuth access token is automatically renewed when using the GitLab or Gitea/Forgejo backend with PKCE authorization.[^224] Token renewal for other backend configurations will be implemented later.
303
307
  - Features the all-new [local repository workflow](#working-with-a-local-git-repository) for a better DX. See the [productivity section](#better-productivity) above.
304
308
  - Developers can select the local and remote backends while working on a local server.
305
309
  - 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).
@@ -643,7 +647,7 @@ Sveltia CMS supports all the [built-in widgets](https://decapcms.org/docs/widget
643
647
  ### Better localization
644
648
 
645
649
  - 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.
646
- - The application UI is ready to be localized into RTL languages like Arabic and Hebrew.[^245]
650
+ - The application UI is ready to be localized into RTL languages like Arabic, Hebrew and Persian.[^245]
647
651
  - 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]
648
652
  - Long menu item labels, especially in non-English locales, don’t overflow the dropdown container.[^117][^265]
649
653
 
@@ -655,9 +659,10 @@ However, 100% feature parity is never planned, and some features are still missi
655
659
 
656
660
  ### Current limitations
657
661
 
658
- 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.
662
+ 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.
659
663
 
660
664
  - Comprehensive site config validation
665
+ - The `media_folder` and `public_folder` options (beta) for the [File](https://decapcms.org/docs/widgets/#File) and [Image](https://decapcms.org/docs/widgets/#Image) widgets ([#497](https://github.com/sveltia/sveltia-cms/issues/497))
661
666
  - Preview for [custom editor components](https://decapcms.org/docs/custom-widgets/#registereditorcomponent) (`CMS.registerEditorComponent`)
662
667
  - [Custom widgets](https://decapcms.org/docs/custom-widgets/) (`CMS.registerWidget`)
663
668
  - [Custom preview templates](https://decapcms.org/docs/customization/#registerpreviewtemplate) (`CMS.registerPreviewTemplate`) ([#51](https://github.com/sveltia/sveltia-cms/issues/51))
@@ -670,7 +675,6 @@ Due to the complexity, we have decided to defer the following features to the 1.
670
675
  - [Editorial workflow](https://decapcms.org/docs/editorial-workflows/)
671
676
  - [Open authoring](https://decapcms.org/docs/open-authoring/)
672
677
  - [Nested collections](https://decapcms.org/docs/collection-nested/) (beta)
673
- - The `media_folder` and `public_folder` options (beta) for the [File](https://decapcms.org/docs/widgets/#File) and [Image](https://decapcms.org/docs/widgets/#Image) widgets ([#497](https://github.com/sveltia/sveltia-cms/issues/497))
674
678
 
675
679
  ### Features not to be implemented
676
680
 
@@ -679,7 +683,7 @@ The following Netlify/Decap CMS features will not be added to Sveltia CMS, prima
679
683
  - **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.
680
684
  - **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.
681
685
  - **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/).
682
- - [Gatsby plugin](https://github.com/decaporg/gatsby-plugin-decap-cms): In light of Gatsby’s [decline](https://2024.stateofjs.com/en-US/libraries/meta-frameworks/) and [uncertainty](https://github.com/gatsbyjs/gatsby/discussions/39062), we won’t be investing time in developing a plugin for it. You can still create `index.html` yourself. Note: We don’t support Netlify Identity Widget; the favicon can be specified with the `logo_url` option.
686
+ - [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.
683
687
  - 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.
684
688
  - The deprecated Netlify Large Media service: Consider other storage providers.
685
689
  - Deprecated camel case configuration options: Use snake case instead, according to the current Decap CMS document.
@@ -700,7 +704,7 @@ The following Netlify/Decap CMS features will not be added to Sveltia CMS, prima
700
704
  - Global: [`search`](https://decapcms.org/docs/configuration-options/#search)
701
705
  - Backend: [`use_graphql`](https://decapcms.org/docs/github-backend/#graphql-api)
702
706
  - Relation widget: `options_length`
703
- - Local proxy server: As [mentioned above](#better-productivity), our [local repository workflow](#working-with-a-local-git-repository) eliminates the need for a proxy server. We don’t plan to add support for `netlify-cms-proxy-server`, `decap-server` or the `local_backend` option.
707
+ - Local proxy server: As [mentioned above](#better-productivity), our [local repository workflow](#working-with-a-local-git-repository) eliminates the need for a proxy server. For security and performance reasons, we don’t support `netlify-cms-proxy-server`, `decap-server` or the `local_backend` option.
704
708
  - The global [`locale`](https://decapcms.org/docs/configuration-options/#locale) option and `CMS.registerLocale()` method: Sveltia CMS automatically detects the user’s preferred language and changes the UI locale as [mentioned above](#better-localization).
705
709
  - [Undocumented methods](https://github.com/sveltia/sveltia-cms/blob/c69446da7bb0bab7405be741c0f92850c5dddfa8/src/main.js#L14-L37) exposed on the `CMS` object: This includes custom backends and custom media libraries, if any. We may support these features in the future, but our implementation would likely be incompatible with Netlify/Decap CMS.
706
710
  - Any other undocumented features and options. Exceptions apply.
@@ -744,10 +748,12 @@ Sveitia CMS works with all modern browsers, but there are a few limitations beca
744
748
 
745
749
  These options were added to Sveltia CMS 0.x but are now deprecated and will be removed in version 1.0:
746
750
 
747
- - The `automatic_deployments` backend option. Use the new [`skip_ci` option](#disabling-automatic-deployments) instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`.
748
- - The `save_all_locales` i18n option. Use the [`initial_locales` option](#disabling-non-default-locale-content) instead, which provides more flexibility. `save_all_locales: false` is equivalent to `initial_locales: all`.
749
- - The `yaml_quote` collection option. `yaml_quote: true` is equivalent to `quote: double` in the [new YAML format options](#controlling-data-output).
750
- - The `read_only` UUID widget option. Use the `readonly` common field option instead, which defaults to `true` for the UUID widget.
751
+ - The `automatic_deployments` backend option: Use the new [`skip_ci` option](#disabling-automatic-deployments) instead, which is more intuitive. `automatic_deployments: false` is equivalent to `skip_ci: true`, and `automatic_deployments: true` is equivalent to `skip_ci: false`.
752
+ - The `save_all_locales` i18n option: Use the [`initial_locales` option](#disabling-non-default-locale-content) instead, which provides more flexibility. `save_all_locales: false` is equivalent to `initial_locales: all`.
753
+ - The `yaml_quote` collection option: `yaml_quote: true` is equivalent to `quote: double` in the [new YAML format options](#controlling-data-output).
754
+ - The `read_only` UUID widget option: Use the `readonly` common field option instead, which defaults to `true` for the UUID widget.
755
+
756
+ The deprecated `logo_url` option will be removed in the future. Use the [new `logo.src` option](https://decapcms.org/docs/configuration-options/#custom-logo) instead.
751
757
 
752
758
  ### Compatibility with Static CMS
753
759
 
@@ -833,7 +839,7 @@ For a better DX, we recommend [setting up the JSON schema](#enabling-autocomplet
833
839
 
834
840
  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.
835
841
 
836
- If you’re using any [features that are not going to be implemented](#features-not-to-be-implemented), you’ll 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.
842
+ If you’re using any [features that are not going to be implemented](#features-not-to-be-implemented), you’ll need to find a workaround. For example, if you’re on Azure or Bitbucket, consider migrating to GitHub, GitLab, Gitea or Forgejo. See the next section if you’re a Git Gateway user.
837
843
 
838
844
  #### Migrating from Git Gateway backend
839
845
 
@@ -969,7 +975,7 @@ If you have migrated from Netlify/Decap CMS and are happy with the local reposit
969
975
 
970
976
  Note that, as with Netlify/Decap CMS, the local repository support in Sveltia CMS doesn’t perform any Git operations. You have to manually fetch, pull, commit and push all changes using a Git client. Additionally, you’ll need to reload the CMS after modifying the configuration file or retrieving remote updates.
971
977
 
972
- In the future, it will probably be possible to commit changes locally. The proxy server actually has an experimental, undocumented Git mode that allows it.[^131] ([Discussion](https://github.com/sveltia/sveltia-cms/discussions/31)) We also plan to use the newly available [File System Observer API](https://developer.chrome.com/blog/file-system-observer) to detect changes and eliminate the need for manual reloads.
978
+ In the future, it will probably be possible to commit changes locally. The Netlify/Decap CMS proxy server actually has an experimental, undocumented Git mode that allows it.[^131] ([Discussion](https://github.com/sveltia/sveltia-cms/discussions/31)) We also plan to use the newly available [File System Observer API](https://developer.chrome.com/blog/file-system-observer) to detect changes and eliminate the need for manual reloads.
973
979
 
974
980
  ### Enabling local development in Brave
975
981
 
@@ -1925,7 +1931,7 @@ Join us on [Discord](https://discord.gg/5hwCGqup5b) or ping us on [Bluesky](http
1925
1931
 
1926
1932
  <!-- prettier-ignore -->
1927
1933
  > [!IMPORTANT]
1928
- > As described throughout this README, Sveltia CMS is being built 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.
1934
+ > 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.
1929
1935
 
1930
1936
  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!
1931
1937
 
@@ -1943,8 +1949,9 @@ We cannot promise any specific release dates, but here is a rough roadmap for th
1943
1949
 
1944
1950
  Due early 2026
1945
1951
 
1946
- - Enhanced [compatibility with Netlify/Decap CMS](#current-limitations)
1952
+ - Enhanced [compatibility with Netlify/Decap CMS](#compatibility)
1947
1953
  - Tackling some more Netlify/Decap CMS issues:
1954
+ - 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)
1948
1955
  - Thorough site config validation[^246]
1949
1956
  - [Entry pre-validation/normalization](https://github.com/sveltia/sveltia-cms/issues/395)[^248]
1950
1957
  - Accessibility audit
@@ -1998,7 +2005,6 @@ Due late 2026
1998
2005
  - Data integrity checks
1999
2006
  - [Asset collections](https://github.com/sveltia/sveltia-cms/issues/301)[^271]
2000
2007
  - [Automatic asset file renaming with templates](https://github.com/sveltia/sveltia-cms/issues/422)[^241]
2001
- - PKCE for GitHub[^285] — It’s [not yet supported](https://github.com/orgs/community/discussions/15752) by GitHub
2002
2008
  - and many more (100+ issues and discussions)
2003
2009
  - Enhancements to **Sveltia CMS Additions** (some may be included in v3.0):
2004
2010
  - Post locking[^166] (like [WordPress](https://codex.wordpress.org/Post_Locking))
@@ -2053,7 +2059,7 @@ Due late 2026
2053
2059
 
2054
2060
  Sveltia CMS is not a service but a client-side application that runs in your web browser. You don’t need an account to use the app, but you do need to authenticate with your Git hosting provider to read and write remote data. All content is stored in your Git repository. No data is sent to any server operated by us.
2055
2061
 
2056
- GitHub (and GitLab, depending on your configuration) requires server-side authentication. If you choose the GitHub backend, you will need to use an OAuth application hosted by yourself or a third party, such as Netlify or Cloudflare, to retrieve an access token from GitHub. Alternatively, you can provide an access token directly on the CMS’s sign-in page. Other Git backends support client-side authentication. In any case, your token is stored in your browser’s local storage, and subsequent API requests are made directly between your browser and the Git hosting provider.
2062
+ Depending on your site configuration, you will need to use an OAuth application hosted by yourself or a third party, such as Netlify or Cloudflare, to retrieve an access token from GitHub. Alternatively, you can provide an access token directly on the CMS’s sign-in page. In any case, your token is stored in your browser’s local storage, and subsequent API requests are made directly between your browser and the Git hosting provider.
2057
2063
 
2058
2064
  The CMS also integrates with various third-party services, including stock photo providers and translation services. These are “bring your own key” (BYOK) features that are entirely optional. You provide your own API keys for these services, which are stored in your browser’s local storage, and API requests are then made directly between your browser and the relevant service providers.
2059
2065
 
@@ -2289,7 +2295,7 @@ This project would not have been possible without the open source Netlify CMS pr
2289
2295
 
2290
2296
  [^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)
2291
2297
 
2292
- [^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) — 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).
2298
+ [^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).
2293
2299
 
2294
2300
  [^114]: Netlify/Decap CMS [#5029](https://github.com/decaporg/decap-cms/issues/5029), [#5048](https://github.com/decaporg/decap-cms/issues/5048)
2295
2301
 
@@ -2654,3 +2660,5 @@ This project would not have been possible without the open source Netlify CMS pr
2654
2660
  [^298]: Netlify/Decap CMS [#7640](https://github.com/decaporg/decap-cms/issues/7640)
2655
2661
 
2656
2662
  [^299]: Netlify/Decap CMS [#5812](https://github.com/decaporg/decap-cms/issues/5812)
2663
+
2664
+ [^300]: Netlify/Decap CMS [#7257](https://github.com/decaporg/decap-cms/issues/7257)