@sveltia/cms 0.65.0 → 0.66.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
@@ -65,7 +65,7 @@ The free, open source alternative to Netlify/Decap CMS is now in public beta, tu
65
65
  - [Localizing entry slugs](#localizing-entry-slugs)
66
66
  - [Disabling non-default locale content](#disabling-non-default-locale-content)
67
67
  - [Using a random ID for an entry slug](#using-a-random-id-for-an-entry-slug)
68
- - [Configure multiple media libraries](#configure-multiple-media-libraries)
68
+ - [Configuring multiple media libraries](#configuring-multiple-media-libraries)
69
69
  - [Editing data files with a top-level list](#editing-data-files-with-a-top-level-list)
70
70
  - [Changing the input type of a DateTime field](#changing-the-input-type-of-a-datetime-field)
71
71
  - [Controlling data output](#controlling-data-output)
@@ -130,7 +130,7 @@ While we fix reported bugs as quickly as possible, usually within 24 hours, our
130
130
  - Responding to requests from the maintainer’s clients
131
131
  - Making the code clean and maintainable
132
132
 
133
- ![185 Netlify/Decap CMS Issues Solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20250324)<br>
133
+ ![185 Netlify/Decap CMS Issues Solved in Sveltia CMS](https://raw.githubusercontent.com/sveltia/sveltia-cms/main/docs/headline-1.webp?20250327)<br>
134
134
 
135
135
  ## Differentiators
136
136
 
@@ -145,7 +145,7 @@ We hope Netlify/Decap CMS users will be pleased and surprised by the numerous im
145
145
  - Provides immersive dark mode.[^2] The UI theme follows the user’s system preference by default and can be changed in the application settings.
146
146
  - Comes with touch device support, such as larger buttons for easier tapping. While the UI is not yet optimized for small screens, it should work well with large tablets like iPad Pro or Pixel Tablet. Mobile support and other optimizations such as swipe navigation are planned after the 1.0 release.
147
147
  - Made with [Svelte](https://svelte.dev/), not React, means we can spend more time on UX rather than tedious state management. It also allows us to avoid common fatal React application crashes.[^113][^129] Best of all, Svelte offers great performance.
148
- - We build [our own UI library](https://github.com/sveltia/sveltia-ui) to ensure optimal usability without compromising accessibility.
148
+ - We build [our own UI library](https://github.com/sveltia/sveltia-ui), including custom dialogs,[^196] to ensure optimal usability without compromising accessibility.
149
149
  - The in-app Help menu provides all links to useful resources, including release notes, feedback and support.
150
150
  - Users can personalize the application with various settings, including appearance and language. Developer Mode can also be enabled.
151
151
  - Never miss out on the latest features and bug fixes by being notified when an update to the CMS is available.[^31] Then update to the latest version with a single click.[^66]
@@ -211,7 +211,8 @@ We hope Netlify/Decap CMS users will be pleased and surprised by the numerous im
211
211
 
212
212
  - Some servers and frameworks are known to remove the trailing slash from the CMS URL (`/admin`) depending on the configuration. In such cases, the config file is loaded from a root-relative URL (`/admin/config.yml`) instead of a regular relative URL (`./config.yml` = `/config.yml`) that results in a 404 Not Found error.[^107]
213
213
  - Supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections.[^60]
214
- - TypeScript support: We try to keep our type definitions for `CMS.init()` and other methods complete, accurate, up-to-date and annotated.[^190][^191][^192][^193] This makes it easier to provide a site config object when [manually initializing](https://decapcms.org/docs/manual-initialization/) the CMS.
214
+ - Also supports [multiple configuration files](#providing-multiple-configuration-files).[^197]
215
+ - Improved TypeScript support: We try to keep our type definitions for `CMS.init()` and other methods complete, accurate, up-to-date and annotated.[^190][^191][^192][^193] This makes it easier to provide a site config object when [manually initializing](https://decapcms.org/docs/manual-initialization/) the CMS.
215
216
 
216
217
  ### Better backend support
217
218
 
@@ -225,7 +226,7 @@ We hope Netlify/Decap CMS users will be pleased and surprised by the numerous im
225
226
  - Users won’t get a 404 Not Found error when you sign in to the GitLab backend.[^115]
226
227
  - Features the all-new local backend that boosts DX. See the [productivity section](#better-productivity) above.
227
228
  - Developers can select the local and remote backends while working on a local server.
228
- - The Test backend stores entries and assets in the browser’s [origin private file system](https://web.dev/articles/origin-private-file-system) (OPFS). Developers are free to play with the CMS without discarding changes.[^194]
229
+ - 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]
229
230
 
230
231
  ### Better i18n support
231
232
 
@@ -473,6 +474,9 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
473
474
  - Upload multiple assets at once, including files in nested folders, by browsing or dragging and dropping them into the library.[^5]
474
475
  - Sort or filter assets by name or file type.
475
476
  - View asset details, including size, dimensions, commit author/date and a list of entries that use the selected asset.
477
+ - Enhancements to media library integrations:
478
+ - Supports multiple media libraries with the [new `media_libraries` option](#configuring-multiple-media-libraries).[^195]
479
+ - 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).
476
480
  - The global `media_folder` can be an empty string (or `.` or `/`) if you want to store assets in the root folder.
477
481
  - PDF documents are displayed with a thumbnail image in both the Asset Library and the Select File dialog, making it easier to find the file you’re looking for.[^38]
478
482
  - Assets stored in an entry-relative media folder are displayed in the Asset Library.[^142]
@@ -481,8 +485,6 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
481
485
  - Users can add assets using the Quick Add button in the upper right corner of the application.
482
486
  - Files are uploaded with their original names, without converting uppercase letters and spaces to lowercase letters and hyphens.[^97]
483
487
  - No fatal application crash when uploading assets.[^112]
484
- - Supports multiple media libraries with the [new `media_libraries` option](#configure-multiple-media-libraries).[^195]
485
- - 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](#configure-multiple-media-libraries).
486
488
 
487
489
  ### Better customization
488
490
 
@@ -496,7 +498,6 @@ Sveltia CMS has been built with a multilingual architecture from the very beginn
496
498
  - 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.
497
499
  - 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]
498
500
  - Long menu item labels, especially in non-English locales, don’t overflow the dropdown container.[^117]
499
- - We are migrating from [`svelte-i18n`](https://github.com/kaisermann/svelte-i18n) to the new [MessageFormat 2](https://github.com/unicode-org/message-format-wg)-based `sveltia-i18n` library for natural-sounding translations in every locale.
500
501
 
501
502
  ## Compatibility
502
503
 
@@ -665,6 +666,17 @@ Sveltia CMS supports a configuration file written in the JSON format in addition
665
666
 
666
667
  Alternatively, you can [manually initialize](https://decapcms.org/docs/manual-initialization/) the CMS with a JavaScript configuration object.
667
668
 
669
+ ### Providing multiple configuration files
670
+
671
+ With Sveltia CMS, developers can modularize the site configuration. Just provide multiple config links and the CMS will automatically merge them in the order of tag appearance using the [`deepmerge`](https://www.npmjs.com/package/deepmerge) library. It’s possible to use YAML, [JSON](#providing-a-json-configuration-file) or both.
672
+
673
+ ```html
674
+ <link href="/admin/config.yml" type="application/yaml" rel="cms-config-url" />
675
+ <link href="/admin/collections/authors.yml" type="application/yaml" rel="cms-config-url" />
676
+ <link href="/admin/collections/pages.yml" type="application/yaml" rel="cms-config-url" />
677
+ <link href="/admin/collections/posts.yml" type="application/yaml" rel="cms-config-url" />
678
+ ```
679
+
668
680
  ### Working around an authentication error
669
681
 
670
682
  If you get an “Authentication Aborted” error when trying to sign in to GitHub or GitLab using the authorization code flow, you may need to check your site’s [`Cross-Origin-Opener-Policy`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy). The COOP header is not widely used, but it’s known to break the OAuth flow with a popup window. If that’s your case, changing `same-origin` to `same-origin-allow-popups` solves the problem. ([Discussion](https://github.com/sveltia/sveltia-cms/issues/131))
@@ -907,7 +919,7 @@ collections:
907
919
  slug: '{{uuid_short}}' # or {{uuid}} or {{uuid_shorter}}
908
920
  ```
909
921
 
910
- ### Configure multiple media libraries
922
+ ### Configuring multiple media libraries
911
923
 
912
924
  The traditional [`media_library`](https://decapcms.org/docs/configuration-options/#media-library) option allows developers to configure only one media library:
913
925
 
@@ -918,20 +930,25 @@ media_library:
918
930
  max_file_size: 1024000
919
931
  ```
920
932
 
921
- Sveltia CMS has added support for multiple media libraries with the new `media_libraries` option. It can be used as a global option as well as a File/Image field option.
933
+ Sveltia CMS has added support for multiple media libraries with the new `media_libraries` option so you can mix up the default media library (your repository), [Cloudinary](https://decapcms.org/docs/cloudinary/) and [Uploadcare](https://decapcms.org/docs/uploadcare/). It can be used as a global option as well as a File/Image field option.
922
934
 
923
935
  ```yaml
924
936
  media_libraries:
925
937
  default:
926
938
  config:
927
939
  max_file_size: 1024000
940
+ # coming soon: image optimizer options
928
941
  cloudinary:
929
942
  config:
930
- cloud_name: your_cloud_name
931
- api_key: your_api_key
943
+ cloud_name: YOUR_CLOUD_NAME
944
+ api_key: YOUR_API_KEY
945
+ output_filename_only: true
932
946
  uploadcare:
933
947
  config:
934
- publicKey: YOUR_UPLOADCARE_PUBLIC_KEY
948
+ publicKey: YOUR_PUBLIC_KEY
949
+ settings:
950
+ autoFilename: true
951
+ defaultOperations: '/resize/800x600/'
935
952
  ```
936
953
 
937
954
  ### Editing data files with a top-level list
@@ -1594,3 +1611,7 @@ This software is provided “as is” without any express or implied warranty. W
1594
1611
  [^194]: Netlify/Decap CMS [#7157](https://github.com/decaporg/decap-cms/issues/7157)
1595
1612
 
1596
1613
  [^195]: Netlify/Decap CMS [#5901](https://github.com/decaporg/decap-cms/issues/5901)
1614
+
1615
+ [^196]: Netlify/Decap CMS [#3057](https://github.com/decaporg/decap-cms/issues/3057)
1616
+
1617
+ [^197]: Netlify/Decap CMS [#3457](https://github.com/decaporg/decap-cms/issues/3457), [#3624](https://github.com/decaporg/decap-cms/issues/3624)