@sveltia/cms 0.30.0 → 0.31.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 +62 -51
- package/dist/sveltia-cms.js +88 -88
- package/dist/sveltia-cms.mjs +79 -79
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,8 +28,8 @@ While we are fixing reported bugs as fast as we can, usually within 24 hours, th
|
|
|
28
28
|
|
|
29
29
|
- Ensuring maximum compatibility with existing versions of Netlify/Decap CMS
|
|
30
30
|
- Tackling as many [issues reported to Netlify/Decap CMS](https://github.com/decaporg/decap-cms/issues) as possible
|
|
31
|
-
- So far,
|
|
32
|
-
- [Let us know](https://github.com/sveltia/sveltia-cms/issues/new) if you have
|
|
31
|
+
- So far, 100+ of them have been effectively solved in Sveltia CMS, with the goal of reaching 150 by GA and 250 in later releases.
|
|
32
|
+
- [Let us know](https://github.com/sveltia/sveltia-cms/issues/new) if you have any specific issues you’d like to see solved!
|
|
33
33
|
- Responding to user feedback
|
|
34
34
|
- Implementing our own enhancement ideas
|
|
35
35
|
|
|
@@ -70,7 +70,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
70
70
|
- In addition to a streamlined workflow, it offers great performance by loading files natively through the browser rather than using a slow, ad hoc REST API.
|
|
71
71
|
- It also avoids a number of issues, including the 30 MB file size limit[^51], an unknown error with `publish_mode`[^75], and an unused `logo_url`[^49].
|
|
72
72
|
- Eliminates some workflow disruptions in the Content Editor:
|
|
73
|
-
- A local backup of an entry draft is automatically created without interruption by a confirmation dialog. It can then be reliably restored without unexpected overwriting[^85].
|
|
73
|
+
- A local backup of an entry draft is automatically created without interruption by a confirmation dialog, which annoys users and can cause a page navigation problem when it’s dismissed[^106]. It can then be reliably restored without unexpected overwriting[^85].
|
|
74
74
|
- Click once (the Save button) instead of twice (Publish > Publish now) to save an entry.
|
|
75
75
|
- The editor closes automatically when an entry is saved.
|
|
76
76
|
- You can upload multiple assets at once[^5].
|
|
@@ -84,6 +84,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
84
84
|
- Comprehensive [WAI-ARIA](https://w3c.github.io/aria/) support enables users who rely on screen readers such as NVDA and VoiceOver.
|
|
85
85
|
- Ensures sufficient contrast between the foreground text and background colours.
|
|
86
86
|
- Honours your operating system’s [reduced motion](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion) and [reduced transparency](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency) settings.
|
|
87
|
+
- Enabled and disabled buttons can be clearly distinguished[^105].
|
|
87
88
|
- We’ll continue to test and improve the application to meet [WCAG 2.2](https://w3c.github.io/wcag/guidelines/22/).
|
|
88
89
|
|
|
89
90
|
### Better security
|
|
@@ -93,6 +94,11 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
93
94
|
- The `unsafe-eval` and `unsafe-inline` keywords are not needed in the `script-src` CSP directive[^34].
|
|
94
95
|
- The `same-origin` referrer policy is automatically set with a `<meta>` tag.
|
|
95
96
|
|
|
97
|
+
### Better configuration
|
|
98
|
+
|
|
99
|
+
- Some servers and frameworks 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`), which results in a 404 Not Found[^107].
|
|
100
|
+
- Supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections[^60].
|
|
101
|
+
|
|
96
102
|
### Better backend support
|
|
97
103
|
|
|
98
104
|
- 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.
|
|
@@ -103,31 +109,34 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
103
109
|
|
|
104
110
|
### Better i18n support
|
|
105
111
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
- [
|
|
114
|
-
- You can [
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
-
|
|
112
|
+
Sveltia CMS has been built with a multilingual architecture from the very beginning. You can expect first-class internationalization (i18n) support, as it’s required by clients of maintainer [@kyoshino](https://github.com/kyoshino), who himself was a long-time Japanese localizer for Mozilla and currently lives in a [city](https://en.wikipedia.org/wiki/Toronto) where 150+ languages are spoken.
|
|
113
|
+
|
|
114
|
+
- Configuration
|
|
115
|
+
- Supports multiple files/folders i18n structure for file collections[^87]. To enable it, simply use the `{{locale}}` template tag in the `file` path option, e.g. `content/pages/about.{{locale}}.json` or `content/pages/{{locale}}/about.json`. For backward compatibility, the global `structure` option only applies to folder collections as before.
|
|
116
|
+
- [Entry-relative media folders](https://decapcms.org/docs/collection-folder/#media-and-public-folder) can be used in conjunction with the `multiple_folders` i18n structure[^21].
|
|
117
|
+
- Removes the [limitations in the List and Object widgets](https://decapcms.org/docs/i18n/#limitations) so that changes made with these widgets will be duplicated between locales as expected when using the `i18n: duplicate` field configuration[^7][^68].
|
|
118
|
+
- You can use the `{{locale}}` template tag in the [`preview_path`](https://decapcms.org/docs/configuration-options/#preview_path) collection option to provide site preview links for each language[^63].
|
|
119
|
+
- You can [use a random UUID for an entry slug](#using-a-random-id-for-an-entry-slug), which is a good option for locales that write in non-Latin characters.
|
|
120
|
+
- You can [localize entry slugs](#localizing-entry-slugs) while linking the localized files[^80], thanks to the support for Hugo’s `translationKey`[^81].
|
|
121
|
+
- When the `clean_accents` option is enabled for [entry slugs](https://decapcms.org/docs/configuration-options/#slug-type), certain characters, such as German umlauts, will be [transliterated](https://www.npmjs.com/package/@sindresorhus/transliterate)[^99].
|
|
122
|
+
- You can embed the locale code in an entry by using `widget: hidden` along with `default: '{{locale}}'`[^101].
|
|
123
|
+
- User interface
|
|
124
|
+
- Eliminates UI confusion: The preview pane can be displayed without toggling i18n in the Content Editor. Both panes are scrollable. There is no condition where both panes are edited in the same language at the same time.
|
|
125
|
+
- You can easily switch between locales while editing by clicking a button instead of a dropdown list. No internal error is thrown when changing the locale[^103].
|
|
126
|
+
- Language labels appear in human-readable display names instead of ISO 639 language codes, which not everyone is familiar with. (For example, it might be difficult to recognize `DE` as German, `NL` as Dutch, or `ZH` as Chinese.)
|
|
127
|
+
- 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].
|
|
128
|
+
- Content editing
|
|
129
|
+
- [Integrates DeepL](#using-deepl-to-translate-entry-fields) to allow translation of text fields from another locale with one click.
|
|
130
|
+
- You can [disable non-default locale content](#disabling-non-default-locale-content)[^15].
|
|
131
|
+
- Boolean, DateTime, List and Number fields in the entry preview are displayed in a localized format.
|
|
132
|
+
- Boolean fields are updated in real time between locales like other widgets to avoid confusion[^35].
|
|
133
|
+
- Relation fields with i18n enabled won’t trigger a change in the content draft status when you start editing an existing entry[^84].
|
|
134
|
+
- Solves problems with Chinese, Japanese and Korean (CJK) [IME](https://en.wikipedia.org/wiki/Input_method) text input in the rich text editor for the Markdown widget[^54].
|
|
135
|
+
- Raises a validation error instead of failing silently if the `single_file` structure is used and a required field is not filled in any of the locales[^55].
|
|
136
|
+
- Fields in non-default locales are validated as expected[^13].
|
|
127
137
|
|
|
128
138
|
### Better collections
|
|
129
139
|
|
|
130
|
-
- Supports a [JSON configuration file](#providing-a-json-configuration-file) that can be generated for bulk or complex collections[^60].
|
|
131
140
|
- You can choose a [custom icon for each collection](#using-a-custom-icon-for-a-collection)[^3].
|
|
132
141
|
- You can [add dividers to the collection list](#adding-dividers-to-the-collection-list).
|
|
133
142
|
- Assets stored in a [per-collection media folder](#using-a-custom-media-folder-for-a-collection) can be displayed next to the entries.
|
|
@@ -146,8 +155,8 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
146
155
|
- You can revert changes to all fields or a specific field.
|
|
147
156
|
- You can hide the preview of a specific field with `preview: false`.
|
|
148
157
|
- Fields with validation errors are automatically expanded if they are part of nested, collapsed objects[^40].
|
|
149
|
-
- When you click on a field in the
|
|
150
|
-
- The
|
|
158
|
+
- When you click on a field in the preview pane, the corresponding field in the edit pane is highlighted. It will be automatically expanded if collapsed[^41].
|
|
159
|
+
- The preview pane displays all fields, including each title, making it easier to see which fields are populated.
|
|
151
160
|
- Provides better scroll synchronization between the panes when editing or previewing an entry[^92].
|
|
152
161
|
- You can use a full regular expression, including flags, for the widget `pattern` option[^82]. For example, if you want to allow 280 characters or less in a multiline text field, you could write `/^.{0,280}$/s` (but you can now use the `maxlength` option instead).
|
|
153
162
|
- A long validation error message is displayed in full, without being hidden behind the field label[^59].
|
|
@@ -156,7 +165,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
156
165
|
### Better data output
|
|
157
166
|
|
|
158
167
|
- Keys in generated JSON/TOML/YAML content are always sorted by the order of configured fields, making Git commits clean and consistent[^86].
|
|
159
|
-
- For data consistency, Boolean, List (see below) and other fields are always saved as a proper value, such as an empty string or an empty array, rather than nothing, even if it’s optional or empty.
|
|
168
|
+
- For data consistency, Boolean, List (see below) and other fields are always saved as a proper value, such as an empty string or an empty array, rather than nothing, even if it’s optional or empty[^45][^46][^44].
|
|
160
169
|
- Leading and trailing spaces in text-type field values are automatically removed when you save an entry[^37].
|
|
161
170
|
- JSON/TOML/YAML data is saved with a new line at the end of the file to prevent unnecessary changes being made to the file[^11][^69].
|
|
162
171
|
- String values in YAML files can be quoted with the new `yaml_quote: true` option for a collection, mainly for framework compatibility[^9].
|
|
@@ -166,6 +175,8 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
166
175
|
- Boolean
|
|
167
176
|
- A required Boolean field with no default value is saved as `false` by default, without raising a confusing validation error[^45].
|
|
168
177
|
- An optional Boolean field with no default value is also saved as `false` by default, rather than nothing[^46].
|
|
178
|
+
- Color
|
|
179
|
+
- The preview shows both the RGB(A) hex value and the `rgb()` function notation.
|
|
169
180
|
- DateTime
|
|
170
181
|
- A DateTime field doesn’t trigger a change in the content draft status when you’ve just started editing a new entry[^90].
|
|
171
182
|
- Hidden
|
|
@@ -181,7 +192,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
181
192
|
- Markdown
|
|
182
193
|
- The rich text editor is built with [Lexical](https://github.com/facebook/lexical) instead of [Slate](https://github.com/ianstormtaylor/slate), which solves various problems found in Netlify/Decap CMS, including fatal application crashes[^53][^70][^71][^72][^73].
|
|
183
194
|
- You can set the default editor mode by changing the order of the `modes` option[^58]. If you want to use the plain text editor by default, add `modes: [raw, rich_text]` to the field configuration.
|
|
184
|
-
- Line breaks are rendered as line breaks in the
|
|
195
|
+
- Line breaks are rendered as line breaks in the preview pane according to GitHub Flavored Markdown.
|
|
185
196
|
- Object
|
|
186
197
|
- Sveltia CMS offers two ways to have conditional fields in a collection[^30]:
|
|
187
198
|
- You can use [variable types](https://decapcms.org/docs/variable-type-widgets/) (the `types` option) with the Object widget just like the List widget.
|
|
@@ -190,13 +201,13 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
190
201
|
- Field options are displayed with no additional API requests[^14]. The confusing `options_length` option, which defaults to 20, is therefore ignored[^76].
|
|
191
202
|
- `slug` can be used for `value_field` to show all available options instead of just one in some situations[^91].
|
|
192
203
|
- Template strings with a wildcard like `{{cities.*.name}}` can also be used for `value_field`[^94].
|
|
193
|
-
- `display_fields` is displayed in the
|
|
204
|
+
- `display_fields` is displayed in the preview pane instead of `value_field`.
|
|
194
205
|
- The redundant `search_fields` option is not required in Sveltia CMS, as it defaults to `display_fields` (and `value_field`).
|
|
195
206
|
- Select
|
|
196
207
|
- It’s possible to select an option with value `0`[^56].
|
|
197
|
-
- `label` is displayed in the
|
|
208
|
+
- `label` is displayed in the preview pane instead of `value`.
|
|
198
209
|
- String
|
|
199
|
-
- When a YouTube video URL is entered in a String field, it appears as an embedded video in the
|
|
210
|
+
- When a YouTube video URL is entered in a String field, it appears as an embedded video in the preview pane.
|
|
200
211
|
- Check your site’s [CSP](#setting-up-content-security-policy) if the preview doesn’t work.
|
|
201
212
|
- When a regular URL is entered in a String field, it appears as a link that can be opened in a new browser tab.
|
|
202
213
|
- Supports the `type` option that accepts `url` or `email` as a value, which will validate the value as a URL or email.
|
|
@@ -209,7 +220,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
209
220
|
- A new asset can be uploaded by dragging & dropping it into the dialog[^20].
|
|
210
221
|
- A URL can also be entered in the dialog.
|
|
211
222
|
- Integration with Pexels, Pixabay and Unsplash makes it easy to select and insert a free stock photo[^8]. More services will be added later.
|
|
212
|
-
- Large images automatically fit in the
|
|
223
|
+
- Large images automatically fit in the preview pane instead of being displayed at their original size, which can easily exceed the width of the pane.
|
|
213
224
|
- List and Object
|
|
214
225
|
- The `summary` is displayed correctly when it refers to a Relation field[^36].
|
|
215
226
|
- Markdown, String and Text
|
|
@@ -223,7 +234,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
223
234
|
#### New widgets
|
|
224
235
|
|
|
225
236
|
- Compute
|
|
226
|
-
- The experimental `compute` widget allows to reference the value of other fields in the same collection, similar to the `summary` property for the List and Object widgets. Use the `value` property to define the value template, e.g. `posts-{{fields.slug}}` ([example](https://github.com/sveltia/sveltia-cms/issues/111)).
|
|
237
|
+
- The experimental `compute` widget allows to reference the value of other fields in the same collection, similar to the `summary` property for the List and Object widgets[^104]. Use the `value` property to define the value template, e.g. `posts-{{fields.slug}}` ([example](https://github.com/sveltia/sveltia-cms/issues/111)).
|
|
227
238
|
- UUID
|
|
228
239
|
- In addition to [generating UUIDs for entry slugs](#using-a-random-id-for-an-entry-slug), Sveltia CMS also supports the proposed `uuid` widget with the following properties[^12]:
|
|
229
240
|
- `prefix`: A string to be prepended to the value. Default: an empty string.
|
|
@@ -247,7 +258,7 @@ We are working hard to create a **significantly better alternative to Netlify CM
|
|
|
247
258
|
- View asset details, including size, dimensions, commit author/date and a list of entries that use the selected asset.
|
|
248
259
|
- More features are planned so that you’ll be able to utilize Sveltia CMS as digital asset management (DAM) software.
|
|
249
260
|
- 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].
|
|
250
|
-
- Assets stored in an entry-relative media folder are automatically deleted when the associated entry is deleted because these assets are not available for other entries[^22].
|
|
261
|
+
- Assets stored in an entry-relative media folder are automatically deleted when the associated entry is deleted because these assets are not available for other entries[^22]. If you’re [working with a local repository](#working-with-a-local-git-repository), the empty enclosing folder is also deleted.
|
|
251
262
|
- Hidden files (dot files) don’t appear in the Asset Library[^47].
|
|
252
263
|
- You can add assets using the Quick Add button in the upper right corner of the application.
|
|
253
264
|
- Files are uploaded with their original names, without converting uppercase letters and spaces to lowercase letters and hyphens[^97].
|
|
@@ -363,19 +374,6 @@ Updating Sveltia CMS is transparent, unless you include a specific version in th
|
|
|
363
374
|
|
|
364
375
|
If you’ve chosen to install with npm, updating the package is your responsibility. We recommend using [`ncu`](https://www.npmjs.com/package/npm-check-updates) or a service like [Dependabot](https://github.blog/2020-06-01-keep-all-your-packages-up-to-date-with-dependabot/) to keep dependencies up to date, otherwise you’ll miss important bug fixes and new features.
|
|
365
376
|
|
|
366
|
-
## Tips & tricks
|
|
367
|
-
|
|
368
|
-
### Working around configuration loading issue
|
|
369
|
-
|
|
370
|
-
Depending on your server or framework’s configuration, when you access the CMS at `/admin/`, you’ll be redirected to `/admin` with the trailing slash removed. The CMS assumes that your configuration exists in the same directory, which means `/config.yml` is loaded instead of `/admin/config.yml`, resulting in an error saying “The configuration file could not be retrieved.” There are a couple of ways to work around this problem:
|
|
371
|
-
|
|
372
|
-
- Access `/admin/index.html` or `/admin/#/`
|
|
373
|
-
- Rename `/admin/index.html` to `/admin/cms.html`, and access `/admin/cms`
|
|
374
|
-
- [Specify the configuration file path](https://decapcms.org/docs/configuration-options/#configuration-file) with a `<link>` tag in `/admin/index.html`:
|
|
375
|
-
```html
|
|
376
|
-
<link href="/admin/config.yml" type="application/yaml" rel="cms-config-url" />
|
|
377
|
-
```
|
|
378
|
-
|
|
379
377
|
### Providing a JSON configuration file
|
|
380
378
|
|
|
381
379
|
Sveltia CMS supports a configuration file written in the JSON format in addition to the standard YAML format. This allows developers to programmatically generate the CMS configuration to enable bulk or complex collections. To do this, simply add a `<link>` tag to your HTML, just like a [custom YAML config link](https://decapcms.org/docs/configuration-options/#configuration-file), but with the type `application/json`:
|
|
@@ -549,6 +547,14 @@ i18n:
|
|
|
549
547
|
value: 'en/{{slug}}' # default: {{slug}}
|
|
550
548
|
```
|
|
551
549
|
|
|
550
|
+
Or, for [Jekyll](https://migueldavid.eu/how-to-make-jekyll-multilingual-c13e74c18f1c), you may want to use the `ref` property:
|
|
551
|
+
|
|
552
|
+
```yaml
|
|
553
|
+
i18n:
|
|
554
|
+
canonical_slug:
|
|
555
|
+
key: ref
|
|
556
|
+
```
|
|
557
|
+
|
|
552
558
|
### Disabling non-default locale content
|
|
553
559
|
|
|
554
560
|
You can now disable output of content in selected non-default locales by adding the `save_all_locales` property to the top-level or per-collection `i18n` configuration. Then you’ll find “Disable (locale name)” in the three-dot menu in the top right corner of the content editor. This is useful if the translation isn’t ready yet, but you want to publish the default locale content first.
|
|
@@ -747,7 +753,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
747
753
|
[^6]: Netlify/Decap CMS [#3240](https://github.com/decaporg/decap-cms/issues/3240)
|
|
748
754
|
[^7]: Netlify/Decap CMS [#4386](https://github.com/decaporg/decap-cms/issues/4386)
|
|
749
755
|
[^8]: Netlify/Decap CMS [#2579](https://github.com/decaporg/decap-cms/issues/2579)
|
|
750
|
-
[^9]: Netlify/Decap CMS [#3505](https://github.com/decaporg/decap-cms/issues/3505), [#4211](https://github.com/decaporg/decap-cms/issues/4211)
|
|
756
|
+
[^9]: Netlify/Decap CMS [#3505](https://github.com/decaporg/decap-cms/issues/3505), [#4211](https://github.com/decaporg/decap-cms/issues/4211), [#5439](https://github.com/decaporg/decap-cms/issues/5439)
|
|
751
757
|
[^10]: Netlify/Decap CMS [#341](https://github.com/decaporg/decap-cms/issues/341), [#1167](https://github.com/decaporg/decap-cms/issues/1167)
|
|
752
758
|
[^11]: Netlify/Decap CMS [#1382](https://github.com/decaporg/decap-cms/issues/1382)
|
|
753
759
|
[^12]: Netlify/Decap CMS [#1975](https://github.com/decaporg/decap-cms/issues/1975), [#3712](https://github.com/decaporg/decap-cms/issues/3712)
|
|
@@ -760,7 +766,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
760
766
|
[^19]: Netlify/Decap CMS [#5910](https://github.com/decaporg/decap-cms/issues/5910)
|
|
761
767
|
[^20]: Netlify/Decap CMS [#4563](https://github.com/decaporg/decap-cms/issues/4563)
|
|
762
768
|
[^21]: Netlify/Decap CMS [#4781](https://github.com/decaporg/decap-cms/issues/4781)
|
|
763
|
-
[^22]: Netlify/Decap CMS [#6642](https://github.com/decaporg/decap-cms/issues/6642)
|
|
769
|
+
[^22]: Netlify/Decap CMS [#3615](https://github.com/decaporg/decap-cms/issues/3615), [#4069](https://github.com/decaporg/decap-cms/issues/4069), [#5097](https://github.com/decaporg/decap-cms/issues/5097), [#6642](https://github.com/decaporg/decap-cms/issues/6642)
|
|
764
770
|
[^23]: Netlify/Decap CMS [#2](https://github.com/decaporg/decap-cms/issues/2)
|
|
765
771
|
[^24]: Netlify/Decap CMS [#6831](https://github.com/decaporg/decap-cms/issues/6831)
|
|
766
772
|
[^25]: Netlify/Decap CMS [#526](https://github.com/decaporg/decap-cms/issues/526), [#6987](https://github.com/decaporg/decap-cms/issues/6987)
|
|
@@ -809,7 +815,7 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
809
815
|
[^68]: Netlify/Decap CMS [#6978](https://github.com/decaporg/decap-cms/issues/6978)
|
|
810
816
|
[^69]: Netlify/Decap CMS [#6994](https://github.com/decaporg/decap-cms/issues/6994)
|
|
811
817
|
[^70]: Netlify/Decap CMS [#6482](https://github.com/decaporg/decap-cms/issues/6482)
|
|
812
|
-
[^71]: Netlify/Decap CMS [#6999](https://github.com/decaporg/decap-cms/issues/6999), [#7152](https://github.com/decaporg/decap-cms/issues/7152)
|
|
818
|
+
[^71]: Netlify/Decap CMS [#6999](https://github.com/decaporg/decap-cms/issues/6999), [#7000](https://github.com/decaporg/decap-cms/issues/7000), [#7001](https://github.com/decaporg/decap-cms/issues/7001), [#7152](https://github.com/decaporg/decap-cms/issues/7152)
|
|
813
819
|
[^72]: Netlify/Decap CMS [#7047](https://github.com/decaporg/decap-cms/issues/7047)
|
|
814
820
|
[^73]: Netlify/Decap CMS [#7123](https://github.com/decaporg/decap-cms/issues/7123)
|
|
815
821
|
[^74]: Netlify/Decap CMS [#4209](https://github.com/decaporg/decap-cms/issues/4209)
|
|
@@ -841,4 +847,9 @@ This software is provided “as is” without any express or implied warranty. W
|
|
|
841
847
|
[^100]: Netlify/Decap CMS [#4147](https://github.com/decaporg/decap-cms/issues/4147)
|
|
842
848
|
[^101]: Netlify/Decap CMS [#5969](https://github.com/decaporg/decap-cms/issues/5969)
|
|
843
849
|
[^102]: Netlify/Decap CMS [#1270](https://github.com/decaporg/decap-cms/issues/1270)
|
|
850
|
+
[^103]: Netlify/Decap CMS [#6307](https://github.com/decaporg/decap-cms/issues/6307)
|
|
851
|
+
[^104]: Netlify/Decap CMS [#6819](https://github.com/decaporg/decap-cms/issues/6819)
|
|
852
|
+
[^105]: Netlify/Decap CMS [#5701](https://github.com/decaporg/decap-cms/issues/5701)
|
|
853
|
+
[^106]: Netlify/Decap CMS [#2822](https://github.com/decaporg/decap-cms/issues/2822)
|
|
854
|
+
[^107]: Netlify/Decap CMS [#332](https://github.com/decaporg/decap-cms/issues/332), [#683](https://github.com/decaporg/decap-cms/issues/683), [#999](https://github.com/decaporg/decap-cms/issues/999), [#1456](https://github.com/decaporg/decap-cms/issues/1456), [#4175](https://github.com/decaporg/decap-cms/issues/4175), [#5688](https://github.com/decaporg/decap-cms/issues/5688), [#6828](https://github.com/decaporg/decap-cms/issues/6828), [#6862](https://github.com/decaporg/decap-cms/issues/6862), [#7023](https://github.com/decaporg/decap-cms/issues/7023)
|
|
844
855
|
[^999]: 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), [#6965](https://github.com/decaporg/decap-cms/issues/6965), [#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) — These `removeChild` crashes are common in React apps and seem to be caused by a [browser extension](https://github.com/facebook/react/issues/17256) or [Google Translate](https://github.com/facebook/react/issues/11538).
|