]> BookStack Code Mirror - website/commitdiff
Merge pull request #112 from nferrari/patch-1
authorDan Brown <redacted>
Wed, 2 Mar 2022 21:31:07 +0000 (21:31 +0000)
committerGitHub <redacted>
Wed, 2 Mar 2022 21:31:07 +0000 (21:31 +0000)
Remove useless URL parameter.

16 files changed:
content/blog/bookstack-release-v22-02.md [new file with mode: 0644]
content/docs/admin/installation.md
content/docs/admin/pdf-rendering.md
content/docs/admin/security.md
content/docs/admin/updates.md
package-lock.json
package.json
static/images/2022/02/api-user-endpoints.png [new file with mode: 0644]
static/images/2022/02/collapse-blocks-qa.png [new file with mode: 0644]
static/images/2022/02/collapsible-blocks.mp4 [new file with mode: 0644]
static/images/2022/02/editor-toolbar.png [new file with mode: 0644]
static/images/2022/02/editor-translations.png [new file with mode: 0644]
static/images/2022/02/recently-updated-enhancements.png [new file with mode: 0644]
static/images/2022/02/user-create-language.png [new file with mode: 0644]
static/images/2022/02/webhook-debug-help.png [new file with mode: 0644]
static/images/blog-cover-images/blossom-tegethoff.jpg [new file with mode: 0644]

diff --git a/content/blog/bookstack-release-v22-02.md b/content/blog/bookstack-release-v22-02.md
new file mode 100644 (file)
index 0000000..e1866cc
--- /dev/null
@@ -0,0 +1,224 @@
++++
+categories = ["Releases"]
+tags = ["Releases"]
+title = "BookStack Release v22.02"
+date = 2022-02-26T12:00:00Z
+author = "Dan Brown"
+image = "/images/blog-cover-images/blossom-tegethoff.jpg"
+slug = "bookstack-release-v22-02"
+draft = false
++++
+
+Today we announce the first BookStack feature release of 2022.
+This brings updates & features to the WYSIWYG editor, user management API endpoints and much more. In this post we cover features added in this release
+in addition to some notable changes in the v21.12 patch releases.
+
+* [Update instructions](https://www.bookstackapp.com/docs/admin/updates)
+* [GitHub release page](https://github.com/BookStackApp/BookStack/releases/tag/v22.02)
+
+
+**Upgrade Notices**
+
+- **PHP Requirements Change** - The minimum required version of PHP has changed from 7.3 to 7.4.
+- **Composer Requirements Change** - As of release v21.12.3 composer version 2.0 or greater is required. See our [v21.12.3 update notes](/docs/admin/updates/#updating-to-v21123-or-higher) for details on upgrading this.
+- **Security Releases** - During this last release cycle there was a security update. See the [v21.12.1 blog post](/blog/bookstack-release-v21-12-1/) for more detail.
+
+### WYSIWYG Editor Updates
+
+The main work for this release has been focused on the WYSIWYG editor.
+The library used by BookStack, TinyMCE, has been updated to a much newer version and we've reorganized the connected BookStack codebase.
+
+In terms of usage, everything should remain familiar. The most apparent changes are to the toolbar:
+
+![New Editor Toolbar Styling](/images/2022/02/editor-toolbar.png)
+
+The styling and size of the buttons has changed to be a little more modern and easier to use. The location of some buttons have been moved, with lesser-used controls being placed behind overflow menus to keep the default toolbar focused & simple. Code formatting options have been moved out from the block formats dropdown to instead be inline & insert options. A new help "(?)" toolbar button has been added to show editor license information in addition providing a handy list of available shortcuts.
+
+For those using BookStack in a language other than English, the editor is now linked to our translation system meaning that, where language files have been updated, controls within the editor should now be in your preferred language:
+
+![Example of editor controls in French](/images/2022/02/editor-translations.png)
+
+You'll probably notice other usability and speed improvements gained by the more modern underlying library, otherwise all existing features and abilities should remain the same.
+
+Within this release cycle I did spend some time exploring alternative options but [I found](https://github.com/BookStackApp/BookStack/issues/2738#issuecomment-1022683101) that moving away from TinyMCE would be quite a painful process for us so instead I chose a more stable path for now.
+
+### Collapsible Content Block WYSIWYG Editor Support
+
+For the first time in while we've added a new content type to the WYSIWYG editor: The collapsible content block. These blocks allow the grouping of multiple other blocks of content into a container that can be toggled open by the reader. 
+
+<video loading="lazy" controls="true" src="/images/2022/02/collapsible-blocks.mp4" muted></video>
+
+These blocks are open within the editor and closed when viewed on a page. They can be toggled closed within the editor for cleaner editing or previewing purposes. The label used on the toggle bar can be edited as desired. When page content is exported these sections are still represented although in an open state so that content is visible. 
+
+Behind the scenes these blocks use the HTML standard `<details>`/`<summary>` elements as described on [MDN here](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details). Markdown users have been able to use these within BookStack, using the HTML representation, but the inclusion in the WYSIWYG editor helps align abilities. 
+
+The addition of these blocks adds some great potential use-cases to empower your documentation; From cleaning up large detailed sections or code-blocks, to being able to provide spoiler-free question and answer style content:
+
+![Question and Answers using collapsible blocks](/images/2022/02/collapse-blocks-qa.png)
+
+
+### User Management API Endpoints
+
+In this release the API receives another set of abilities. There are new endpoints for 
+user listing, creation, updating and deletion. 
+All of these actions require "Manage Users" role permissions by the API client user.
+
+![Preview of user API docs](/images/2022/02/api-user-endpoints.png)
+
+These new endpoints unlock a whole new avenue for automated and programmatic user management 
+in addition to allowing bulk operations to be script-able. Need to migrate thousands
+of users into BookStack? Now it's possible!
+
+You can find more detail for these endpoints via our [demo site API docs](https://demo.bookstackapp.com/api/docs#users-list).
+
+### Webhook Improvements
+
+BookStack v21.12 added support for outgoing webhooks. In v.21.12.1 this system was enhanced with the following additions/changes:
+
+- Webhook network errors will now be caught as to not break next page loading.
+- Webhook "Last Called" time, "Last Errored" time and "Last Error" messages are now recorded against the webhook and shown in the webhook edit page for easier debugging.
+- The HTTP webhook call timeout is now configurable per-webhook.
+
+![Example of webhook debug details](/images/2022/02/webhook-debug-help.png)
+
+These changes should greatly improve the debugging process, if needed, when setting up webhooks while allowing them to be used in a much more reliable manner.
+
+### Language Selection on User Creation
+
+As of v21.12.4 you can now select a preferred language when creating a new user in the system:
+
+![New user language select control](/images/2022/02/user-create-language.png)
+
+Upon showing the correct language upon first login, this means that the new user can now receive the invitation email in the most suitable language, instead of it being based on the language of the admin creating the user, which was not very intuitive. 
+
+### PDF Export Page Size Option
+
+A new `.env` option was added in v21.12.4 to provide control over PDF export page size.
+By default Bookstack will use an A4 page size but this can be changed to "US Letter" size by
+adding the following to your `.env` file:
+
+```bash
+# US Letter PDF export size
+EXPORT_PAGE_SIZE=letter
+```
+
+### Enhancements to the "Recently Updated Pages" List
+
+In BookStack v21.12.3 the "Recently Updated Pages" view, accessed via the homepage card of the same name,
+was enhanced with some additional context-specific details:
+
+- Last update author and last update time are now shown.
+- The parent book/chapter chain are displayed for each item.
+
+![Preview of "Recently updated pages" list](/images/2022/02/recently-updated-enhancements.png)
+
+Special thanks to [@Julesdevops](https://github.com/BookStackApp/BookStack/pull/3177) for helping to evolve this area of the application.
+
+### Translations
+
+As is common, our remarkable translators have continued their great work to keep the language strings up to date. 
+This release added a bulk-load of new terms, for use within the editor, so a particularly big thanks from me to those that have translated all those extra terms since inclusion. The contributors and their updates made, since the initial v21.12 release, are as follows:
+
+- Saeed (saeed205) - *Persian*
+- SmokingCrop - *Dutch*
+- Dan Brown (ssddanbrown) - *Korean*
+- Indrek Haav (IndrekHaav) - *Estonian*
+- Maciej Lebiest (Szwendacz) - *Polish*
+- DiscordDigital - *German; German Informal*
+- 10935336 - *Chinese Simplified*
+- scureza - *Italian*
+- Gábor Marton (dodver) - *Hungarian*
+- Jasell - *Swedish*
+- Tomáš Batelka (Vofy) - *Czech*
+- Martins Pilsetnieks (pilsetnieks) - *Latvian*
+- na3shkw - *Japanese*
+- m0uch0 - *Spanish*
+- Mundo Racional (ismael.mesquita) - *Portuguese, Brazilian*
+- Leonardo Mario Martinez (leonardo.m.martinez) - *Spanish, Argentina*
+- Zarik (3apuk) - *Russian*
+- nutsflag - *French*
+- Ravid Shachar (ravidshachar) - *Hebrew*
+- Helga Guchshenskaya (guchshenskaya) - *Russian*
+- Gerwin de Keijzer (gdekeijzer) - *German Informal; Dutch*
+- daniel chou (chou0214) - *Chinese Traditional*
+- Julesdevops - *French*
+- Nicolas Pawlak (Mikolajek) - *French*
+- ChacMaster - *Portuguese, Brazilian*
+- Manolis PATRIARCHE (m.patriarche) - *French*
+- Mohammed Haboubi (haboubi92) - *Arabic*
+- peter cerny (posli.to.semka) - *Slovak*
+- roncallyt - *Portuguese, Brazilian*
+- goegol - *Dutch*
+- Pavel Karlin (pavelkarlin) - *Russian*
+- Khroners - *French*
+- msevgen - *Turkish*
+- Ali Shaatani (a.shaatani) - *Arabic*
+- @ististyle - *Korean*
+
+### Development Git Branch Changes
+
+For those closer to the BookStack code, within the last release we've changed the default development branch name from `master` to `development`. This was to add clarity to the branch's purpose while avoiding any potential concerns of offence.
+
+If you have any existing links or branch references, GitHub should redirect and/or warn about this change upon interaction.
+
+### Full List of Changes
+
+**Released in v22.02**
+
+* Added collapsible content blocks support to the WYSIWYG editor. ([#78](https://github.com/BookStackApp/BookStack/issues/78), [#3260](https://github.com/BookStackApp/BookStack/pull/3260))
+* Added translation support to the WYSIWYG editor. ([#1838](https://github.com/BookStackApp/BookStack/issues/1838))
+* Added user management API endpoints. ([#3238](https://github.com/BookStackApp/BookStack/pull/3238), [#1363](https://github.com/BookStackApp/BookStack/issues/1363), [#2701](https://github.com/BookStackApp/BookStack/issues/2701))
+* Changed minimum PHP version from 7.3 to 7.4. ([#3245](https://github.com/BookStackApp/BookStack/pull/3245), [#3152](https://github.com/BookStackApp/BookStack/issues/3152))
+* Updated translations with latest Crowdin changes. ([#3258](https://github.com/BookStackApp/BookStack/pull/3258), [#3251](https://github.com/BookStackApp/BookStack/pull/3251), [#3259](https://github.com/BookStackApp/BookStack/pull/3259))
+* Updated Korean translations. Thanks to [@ististyle](https://github.com/BookStackApp/BookStack/pull/3256). ([#3256](https://github.com/BookStackApp/BookStack/pull/3256))
+* Updated TinyMCE WYSIWYG editor to the latest version. ([#3247](https://github.com/BookStackApp/BookStack/pull/3247))
+* Improved PDF export rendering of images within tables. ([#3190](https://github.com/BookStackApp/BookStack/issues/3190))
+* Fixed potential web console error message when loading the editor. ([#2461](https://github.com/BookStackApp/BookStack/issues/2461))
+* Fixed issue where OIDC token failures would not be shown to the user. ([#3264](https://github.com/BookStackApp/BookStack/issues/3264))
+* Fixed issue where the editor could jump-scroll to the top after format change on FireFox ([#2692](https://github.com/BookStackApp/BookStack/issues/2692))
+
+**Released in v21.12.1 through v21.12.5**
+
+* Added timeout and debugging statuses to webhooks. ([#3139](https://github.com/BookStackApp/BookStack/pull/3139))
+* Added new webhook_call_before logical theme system event hook. ([#3138](https://github.com/BookStackApp/BookStack/pull/3138))
+* Added `--external-auth-id` option to the `bookstack:create-admin` command for use with LDAP/SAML2/OIDC instances. ([#3222](https://github.com/BookStackApp/BookStack/issues/3222))
+* Added the ability select preferred language when creating a new user. ([#2408](https://github.com/BookStackApp/BookStack/issues/2408), [#2576](https://github.com/BookStackApp/BookStack/issues/2576))
+* Added configuration option for PDF export page size. ([#995](https://github.com/BookStackApp/BookStack/issues/995))
+* Added text for "file" validation messages to provide better responses in Attachment API validation failures. ([#3248](https://github.com/BookStackApp/BookStack/issues/3248))
+* Improved handling of uploaded images when thumbnails fail to load. ([#3142](https://github.com/BookStackApp/BookStack/issues/3142))
+* Updated support for APNG images to retain animation. ([#3136](https://github.com/BookStackApp/BookStack/issues/3136))
+* Updated book sort and chapter move handling to enforce more permissions. ([#3134](https://github.com/BookStackApp/BookStack/issues/3134))
+* Updated item-search/select box to autofocus on search field. ([#3127](https://github.com/BookStackApp/BookStack/issues/3127))
+* Updated webhooks to not stop application on endpoint call failure. ([#3122](https://github.com/BookStackApp/BookStack/issues/3122))
+* Updated translations with latest Crowdin changes. ([#3117](https://github.com/BookStackApp/BookStack/pull/3117),[#3148](https://github.com/BookStackApp/BookStack/pull/3148),[#3214](https://github.com/BookStackApp/BookStack/pull/3214),[#3225](https://github.com/BookStackApp/BookStack/pull/3225),[#3158](https://github.com/BookStackApp/BookStack/pull/3158))
+* Updated development docker environment with xdebug support. Thanks to [@Julesdevops](https://github.com/BookStackApp/BookStack/pull/3193). ([#3193](https://github.com/BookStackApp/BookStack/pull/3193))
+* Updated user creation flow to not persist the user on invitation sending failure. Thanks to [@Julesdevops](https://github.com/BookStackApp/BookStack/pull/3179). ([#3179](https://github.com/BookStackApp/BookStack/pull/3179), [#3174](https://github.com/BookStackApp/BookStack/issues/3174))
+* Updated "Recently Updated Pages" view to show update author and date. Thanks to [@Julesdevops](https://github.com/BookStackApp/BookStack/pull/3177). ([#3177](https://github.com/BookStackApp/BookStack/pull/3177), [#3045](https://github.com/BookStackApp/BookStack/issues/3045))
+* Updated PDF page export image display to help fix image sizing issues again. ([#3120](https://github.com/BookStackApp/BookStack/issues/3120))
+* Updated "Recently Updated Pages" view to show parent context chain. ([#3183](https://github.com/BookStackApp/BookStack/issues/3183))
+* Updated 503 error view to simplify and prevent thrown errors. Thanks to [@Julesdevops](https://github.com/BookStackApp/BookStack/pull/3210). ([#3210](https://github.com/BookStackApp/BookStack/pull/3210), [#3205](https://github.com/BookStackApp/BookStack/issues/3205))
+* Fixed WYSIWYG editor code block creation across mulitple lines and block elements. Thanks to [@Julesdevops](https://github.com/BookStackApp/BookStack/pull/3246). ([#3246](https://github.com/BookStackApp/BookStack/pull/3246), [#3200](https://github.com/BookStackApp/BookStack/issues/3200))
+* Fixed markdown image data URI extraction failing on large images due to regex match limits. ([#3249](https://github.com/BookStackApp/BookStack/issues/3249))
+* Fixed mis-represented default registration role and allowed disabling of this option. ([#3220](https://github.com/BookStackApp/BookStack/issues/3220), [#2338](https://github.com/BookStackApp/BookStack/issues/2338))
+* Fixed OIDC autodiscovery when keys are provided in a certain format, as provided by Azure. ([#3206](https://github.com/BookStackApp/BookStack/issues/3206))
+* Fixed potential errors in revision diff view when multi-byte characters are used. ([#3170](https://github.com/BookStackApp/BookStack/issues/3170))
+* Fixed duplicate display in image gallery when uploading multiple images at once. ([#3160](https://github.com/BookStackApp/BookStack/issues/3160))
+* Fixed inaccurate markdown editor cursor position upon sidebar usage. ([#3186](https://github.com/BookStackApp/BookStack/issues/3186))
+* Fixed issue where webhooks would error for specific recycle bin operations. ([#3154](https://github.com/BookStackApp/BookStack/issues/3154))
+* Fixed Spanish invite email subject translation. Thanks to [@AitorMatxi](https://github.com/BookStackApp/BookStack/pull/3153). ([#3153](https://github.com/BookStackApp/BookStack/pull/3153))
+* Fixed issue where custom homepage could cause strange deletion behavior and lead to errors. ([#3150](https://github.com/BookStackApp/BookStack/issues/3150))
+* Fixed webhooks list view issue where columns would become to narrow. ([#3135](https://github.com/BookStackApp/BookStack/issues/3135))
+* Fixed linked images showing small in PDF export. ([#3120](https://github.com/BookStackApp/BookStack/issues/3120))
+* Fixed issue where pasting certain code blocks would cause erratic editor behavior. ([#3133](https://github.com/BookStackApp/BookStack/issues/3133))
+* Development change: The default development branch name is now `development` instead of `master`. ([#3195](https://github.com/BookStackApp/BookStack/issues/3195))
+
+### Next Steps
+
+This release was the first in working upon our "Editor Alignment & Review" [road-map](https://github.com/BookStackApp/BookStack#%EF%B8%8F-road-map) item. 
+For this next feature release I'll be looking to get deeper into this road-map item to align markdown & wysiwyg feature-sets and potentially offer easier traversal between these editor options.
+
+With the updates made to the WYSIWYG editor I think it's likely we'll have a flurry of patch releases to enhance features and patch issues that pop up from wider usage.
+
+----
+
+<span style="font-size: 0.8em;opacity:0.9;">Header Image Credits: <span>Photo by <a href="https://unsplash.com/@tegethoff?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Mark Tegethoff</a> on <a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span></span>
\ No newline at end of file
index 63f23357cc679427382b5051f2f2ab8a6c3e83fd..18bac9d764763ee2a5e6914f762cc75c7a4d50ce 100644 (file)
@@ -25,14 +25,18 @@ Below you can find details on how to install BookStack on your own hosting. Ther
 
 BookStack has the following requirements:
 
-* **PHP** >= 7.3
+* **PHP** >= 7.4
     * For installation and maintenance, you'll need to be able to run `php` from the command line.
     * Required Extensions: *OpenSSL, PDO, MBstring, Tokenizer, GD, MySQL, SimpleXML & DOM*
 * **MySQL** >= 5.6 or **MariaDB** >= 10.0
-    *  Single Database *(All permissions advised since application manages schema)*
+    * For the storage of BookStack content and data.
+    * Single Database *(All permissions advised since application manages schema)*
 * **Git Version Control**
-    * (Not strictly required but helps manage updates)
+    * For application of updates when following our standard process.
 * **[Composer](https://getcomposer.org/)** >= v2.0
+    * For installation and management of our PHP dependencies.
+* **A PHP Compatible Webserver**
+    * For usage with PHP and for serving static files.
 
 ---
 
index 621a53974aa8457f51f789babac37dfed62ef922..8bc22a86299ca534c1b9ce48e58af3ca19cc720a 100644 (file)
@@ -5,29 +5,33 @@ date = "2017-01-22"
 type = "admin-doc"
 +++
 
-By default BookStack uses [Dompdf](https://github.com/dompdf/dompdf) to export pages as PDF documents. The benefit of using DomPDF is that it doesn't require any additional installation or setup but the rendering capabilities are somewhat limited.
+By default BookStack uses [dompdf](https://github.com/dompdf/dompdf) to export pages as PDF documents. The benefit of using dompdf is that it doesn't require any additional installation or setup but the rendering capabilities are somewhat limited.
 
-As an alternative you can use [wkhtmltopdf](http://wkhtmltopdf.org/) to generate PDF documents instead. wkhtmltopdf uses the Qt WebKit rendering engine to provide a more accurate overall result.
+As an alternative you can use [wkhtmltopdf](http://wkhtmltopdf.org/) to generate PDF documents instead. wkhtmltopdf uses the Qt WebKit rendering engine to provide a more accurate overall result, but comes with additional security concerns to be aware of.
 
 ### Using wkhtmltopdf
 
-Pre-compiled binaries for wkhtmltopdf can be found on the downloads page of [their website](http://wkhtmltopdf.org/downloads.html). BookStack will check for a file named `wkhtmltopdf` at the base folder of a BookStack install. If found it will use that to render PDF's. If that does not exist it will check for a `WKHTMLTOPDF` variable in the `.env` file. You can use this variable to set an alternate location to wkhtmltopdf:
+Pre-compiled binaries for wkhtmltopdf can be found on the downloads page of [their website](http://wkhtmltopdf.org/downloads.html).
+BookStack will check for a file named `wkhtmltopdf` at the base folder of a BookStack install. If found it will use that to render PDF exports. 
+If that does not exist it will check for a `WKHTMLTOPDF` variable in the `.env` file. 
+You can use the below variable in your `.env` file to set an alternate location to wkhtmltopdf:
 
 ```bash
-# In .env file
 WKHTMLTOPDF=/home/user/bins/wkhtmltopdf
 ```
 
-If neither of those exist Dompdf will be used instead.
+If neither of those exist, or if the below mentioned security option is not enabled, the default dompdf renderer will be used instead.
 
-**Note:** as of BookStack v21.08 you'll need to also enable untrusted server fetching in your `.env` file like below
+**Note:** As of BookStack v21.08 the `ALLOW_UNTRUSTED_SERVER_FETCHING` must also be set to `true` for wkhtmltopdf to be enabled, without this dompdf will be used instead
 This change was made for security since, in many cases, wkhtmltopdf will perform fetches to external URLs which may be defined by users.
-You should only enable the below option in environments where only trusted users can export content.
+You should only enable the below option in environments where users & visitors are trusted.
 
 ```bash
 ALLOW_UNTRUSTED_SERVER_FETCHING=true
 ```
 
+[See our security page for more detail regarding this option](/docs/admin/security/#server-side-requests).
+
 ### Export Page Size
 
 By default PDF exports are generated at an A4 size. If you'd prefer exports to be generated at "US Letter" standard sizes
index f9319e48d22dbd42ba3ed8b5805d695b36aa0328..60c8980d50478f2b34cfdc7b6654bc56ad79b145 100644 (file)
@@ -207,6 +207,7 @@ cases, will log to your webserver error log files.
 Some features, such as the PDF exporting, have the option to make http calls to external user-defined locations to do things
 such as load images or styles. This is disabled by default but can be enabled if desired. This is required for using 
 WKHTMLtoPDF as your PDF export renderer.
+This should only be enabled in BookStack environments where BookStack users and viewers are fully trusted.
 
 To enable untrusted server side requests, you need to define the `ALLOW_UNTRUSTED_SERVER_FETCHING` option in your `.env` file like so:
 
index 75971670779b49dc1ac6a398b533ba0cf6c3af9f..ab0fc4e8b2e6769456e24ae96fff5c3628c9b65f 100644 (file)
@@ -37,6 +37,10 @@ This is primarily a list of breaking changes & security notices.
 Details of updates can be found on [our blog](https://www.bookstackapp.com/blog/) or via 
 the [GitHub releases page](https://github.com/BookStackApp/BookStack/releases).
 
+#### Updating to v22.02 or higher
+
+**PHP Version Requirement Change** - The minimum required version of PHP has changed from 7.3 to 7.4. This should not be a concern for those that are using common containers or for those that have installed using our install scripts.
+
 #### Updating to v21.12.3 or higher
 
 **Composer Version Requirement Change** - Composer v2.0 or greater is now required to install or update BookStack. 
index 715d8da121139c5fad8cc88e9c7e518a22c02e77..297dd300ceac7cde79932253ea350ef5b90ce6d4 100644 (file)
@@ -10,7 +10,7 @@
       "license": "MIT",
       "devDependencies": {
         "npm-run-all": "^4.1.5",
-        "sass": "^1.43.4"
+        "sass": "^1.49.9"
       }
     },
     "node_modules/anymatch": {
       "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
       "dev": true
     },
+    "node_modules/immutable": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz",
+      "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==",
+      "dev": true
+    },
     "node_modules/is-arrayish": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
       }
     },
     "node_modules/sass": {
-      "version": "1.43.4",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.43.4.tgz",
-      "integrity": "sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg==",
+      "version": "1.49.9",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz",
+      "integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==",
       "dev": true,
       "dependencies": {
-        "chokidar": ">=3.0.0 <4.0.0"
+        "chokidar": ">=3.0.0 <4.0.0",
+        "immutable": "^4.0.0",
+        "source-map-js": ">=0.6.2 <2.0.0"
       },
       "bin": {
         "sass": "sass.js"
       },
       "engines": {
-        "node": ">=8.9.0"
+        "node": ">=12.0.0"
       }
     },
     "node_modules/semver": {
       "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
       "dev": true
     },
+    "node_modules/source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/spdx-correct": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
       "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
       "dev": true
     },
+    "immutable": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz",
+      "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==",
+      "dev": true
+    },
     "is-arrayish": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
       }
     },
     "sass": {
-      "version": "1.43.4",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.43.4.tgz",
-      "integrity": "sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg==",
+      "version": "1.49.9",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.9.tgz",
+      "integrity": "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A==",
       "dev": true,
       "requires": {
-        "chokidar": ">=3.0.0 <4.0.0"
+        "chokidar": ">=3.0.0 <4.0.0",
+        "immutable": "^4.0.0",
+        "source-map-js": ">=0.6.2 <2.0.0"
       }
     },
     "semver": {
       "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
       "dev": true
     },
+    "source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+      "dev": true
+    },
     "spdx-correct": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
index 2026e699d1bef7aac0c56b3b1850ec72aa615962..ca8b073cb8ff085aa8750b89edde34ec75828ba7 100644 (file)
@@ -20,6 +20,6 @@
   "license": "MIT",
   "devDependencies": {
     "npm-run-all": "^4.1.5",
-    "sass": "^1.43.4"
+    "sass": "^1.49.9"
   }
 }
diff --git a/static/images/2022/02/api-user-endpoints.png b/static/images/2022/02/api-user-endpoints.png
new file mode 100644 (file)
index 0000000..09c09cf
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:73cc4b5b79defa720ecf1df9b258273e094871257139d48f23ad1839471ff189
+size 33975
diff --git a/static/images/2022/02/collapse-blocks-qa.png b/static/images/2022/02/collapse-blocks-qa.png
new file mode 100644 (file)
index 0000000..53b010d
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:45db82f614395eb6cf28abe7ba0f95e52e4112b776009cd6c0a1aeec6c47e4dd
+size 35046
diff --git a/static/images/2022/02/collapsible-blocks.mp4 b/static/images/2022/02/collapsible-blocks.mp4
new file mode 100644 (file)
index 0000000..345993a
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6cfa42f22ec9db718102e4c33c75e132f044310e5cfbcee6f64301471d8569a5
+size 3088274
diff --git a/static/images/2022/02/editor-toolbar.png b/static/images/2022/02/editor-toolbar.png
new file mode 100644 (file)
index 0000000..5cb791a
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d5d9b2a3e950233f94c629330f5e917a4428091c4cf8f7eaaf195d779310dc05
+size 5961
diff --git a/static/images/2022/02/editor-translations.png b/static/images/2022/02/editor-translations.png
new file mode 100644 (file)
index 0000000..4a87f81
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f96aabddb3d735819eab416d8a07d85c69de63123d89d193b7b07e6b549c6c4b
+size 24992
diff --git a/static/images/2022/02/recently-updated-enhancements.png b/static/images/2022/02/recently-updated-enhancements.png
new file mode 100644 (file)
index 0000000..2393b12
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e227d71e9ad7d6fe8430c901e630f7a466d683db9b98d626e14c252537ee6095
+size 32442
diff --git a/static/images/2022/02/user-create-language.png b/static/images/2022/02/user-create-language.png
new file mode 100644 (file)
index 0000000..a1aaca8
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d57b6e33ebf2ea4aca6d35cc4ffd16fc1da498031be1cf38b2c60c4a82ef0e4b
+size 18698
diff --git a/static/images/2022/02/webhook-debug-help.png b/static/images/2022/02/webhook-debug-help.png
new file mode 100644 (file)
index 0000000..5ec5ac3
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b08f547e052428ba454d4cb6f76cad7b5d0261760f0a850d2f3672755d96d386
+size 17609
diff --git a/static/images/blog-cover-images/blossom-tegethoff.jpg b/static/images/blog-cover-images/blossom-tegethoff.jpg
new file mode 100644 (file)
index 0000000..aad7f5e
--- /dev/null
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:735ab985f0af8d765c0f9bbcdd3720528f34133171c5688b60eb6b6260f96ac5
+size 336990