# 5.6.0 ## Goals This release introduces support for integrating CryptPad instances with Single-Sign On authentication. It brings a lot of improvements and fixes to Form, Calendar, and other parts of CryptPad. This release begins to improve the accessibility of the toolbar towards full WCAG compliance which we hope to achieve in the near future. ## Features - Authentication - This version paves the way for SSO authentication for a CryptPad instance via a plugin (est. release Jan. 2024) [#1320](https://github.com/cryptpad/cryptpad/pull/1320) - New setting to make Two-Factor Authentication mandatory for all user accounts on an instance [#1341](https://github.com/cryptpad/cryptpad/pull/1341) - Form - New button to duplicate a question [#1305](https://github.com/cryptpad/cryptpad/pull/1305) - Calendar - New description field for calendar events [#1299](https://github.com/cryptpad/cryptpad/pull/1299) ## Improvements - Accessibility of toolbars and some drop-down menus [#1290](https://github.com/cryptpad/cryptpad/pull/1290) - "+ New" drop-down menu in Drive and Team Drive #1191 - New `Ctrl + e` modal #1192 - Code contact request notifications as headings #1197 - DOM order of toolbar #1198 - Notifications menu not accessible via Keyboard #1201 - Sidebar "tabs" not accessible via keyboard #1203 - Implement keyboard navigation of toolbar menus #1209 - CryptDrive page needs a logical tab order #1151 - Elements not accessible using the keyboard #1162 - Calendar event modal date-picker is cut-off at some screen resolutions #1280 - Visible focus #1206 - Rich Text - Improvements to the Rich Text toolbar and layout for mobile usage [#1296](https://github.com/cryptpad/cryptpad/pull/1296) - Calendar - Handling the move of repeating events from a calendar to another [#1308](https://github.com/cryptpad/cryptpad/pull/1308) - Kanban - Changed positioning of kanban tag container on smaller screens [#1307](https://github.com/cryptpad/cryptpad/pull/1307) - New option to increase the number of teams slots for premium users only [#1315](https://github.com/cryptpad/cryptpad/pull/1315) - Improve licensing information, CryptPad code now complies with the [REUSE](https://reuse.software/) specifications [#1300](https://github.com/cryptpad/cryptpad/pull/1300) - Deployment - Basic configuration for Apache HTTPd [#1332](https://github.com/cryptpad/cryptpad/pull/1332) - Add Docker health check [#1287](https://github.com/cryptpad/cryptpad/pull/1287) - Cleanup - Old // XXX comments [#1334](https://github.com/cryptpad/cryptpad/pull/1334) - Outdated/misplaced files [#1327](https://github.com/cryptpad/cryptpad/pull/1327) ## Fixes - Fix browser autocomplete issues (password, numbers, etc.) [#1342](https://github.com/cryptpad/cryptpad/pull/1342) - Drive - Container height fills screen [#1304](https://github.com/cryptpad/cryptpad/pull/1304) - Context menu on mobile [#1301](https://github.com/cryptpad/cryptpad/pull/1301) - OnlyOffice applications - Use correct mime type for .wasm files (export functionality) [#1288](https://github.com/cryptpad/cryptpad/pull/1288) - Fix filter functionality in Sheets [#1319](https://github.com/cryptpad/cryptpad/issues/1319) - Form - Fix an error upon importing a template in forms [#1316](https://github.com/cryptpad/cryptpad/pull/1316) - Can now set form closing date/time on mobile [#1305](https://github.com/cryptpad/cryptpad/pull/1305) - Can now edit time options for poll questions on mobile [#1305](https://github.com/cryptpad/cryptpad/pull/1305) - Dates in CSV exports of forms are now in ISO (not timestamp) format [#1305](https://github.com/cryptpad/cryptpad/pull/1305) - Page breaks are no longer visible in conditional sections when condition is not met [#1305](https://github.com/cryptpad/cryptpad/pull/1305) - Final submission page now has margins [#1305](https://github.com/cryptpad/cryptpad/pull/1305) - Question blocks on mobile are now only draggable at the top of the block to make scrolling possible [#1305](https://github.com/cryptpad/cryptpad/pull/1305) - Whiteboard - Fix a few export-related issues [#1328](https://github.com/cryptpad/cryptpad/pull/1328) - Calendar - Reformat `www/calendar/export.js` [#1314](https://github.com/cryptpad/cryptpad/pull/1314) - Fix a bug with stopping the recurrence of a calendar event [#1312](https://github.com/cryptpad/cryptpad/pull/1312) - Calendar creates itself twice when navigating with the keyboard [#1250](https://github.com/cryptpad/cryptpad/issues/1250) - Fix timezone in Daylight Saving Time issues [#1317](https://github.com/cryptpad/cryptpad/pull/1317) - Translations - Revise the translation of `zh` [#1329](https://github.com/cryptpad/cryptpad/pull/1329) ## Dependencies - Added [Moment.js](http://momentjs.com/) for improved handling of dates in Calendar (added as part of [#1317](https://github.com/cryptpad/cryptpad/pull/1317)) ## Deployment We [fixed an issue with the Systemd service file and logging](https://github.com/cryptpad/cryptpad/commit/078095c3e25d39707bdaab7ec066ceed6cb7158b), you'll need to add the following lines to your `cryptpad.service` before continuing by following the upgrade notes below. ```diff # Restart service after 10 seconds if node service crashes RestartSec=2 + # Proper logging to journald + StandardOutput=journal + StandardError=journal+console User=cryptpad Group=cryptpad ``` ## Upgrade notes If you are upgrading from a version older than `5.5.0` please read the upgrade notes of all versions between yours and `5.5.0` to avoid configuration issues. To upgrade: 1. Reload the Systemd daemon, required due to the changes in the **Deployment** section ```bash sudo systemctl daemon-reload ``` 2. Stop your server 3. Get the latest code with git ```bash git fetch origin --tags git checkout 5.6.0 ``` 4. Restart your server 5. Review your instance's checkup page to ensure that you are passing all tests # 5.5.0 ## Features - Moderation and content deletion features [#1253](https://github.com/cryptpad/cryptpad/pull/1253) * Moderation * archive an entire account and its owned documents from its public key * restore this entire account if necessary * Placeholder * unavailable documents now provide improved messages communicating the reason they are unavailable: - Deleted by an owner - Deleted by an admin + reason from admin team (user account or document) - Deleted for inactivity (documents not stored in a user drive and inactive) - Protected with a new password (user account or document) * it is no longer possible to re-use an previous password for a password-protected document - Only Office upgrade to 7.3.3.60 - New version of x2t for document conversions ## Improvements - Accessibility - Add text labels to elements [#1163](https://github.com/cryptpad/cryptpad/issues/1163), [#1122](https://github.com/cryptpad/cryptpad/issues/1122), [#1123](https://github.com/cryptpad/cryptpad/issues/1123), [#1124](https://github.com/cryptpad/cryptpad/issues/1124), [#1128](https://github.com/cryptpad/cryptpad/issues/1128), [#1129](https://github.com/cryptpad/cryptpad/issues/1129), [#1131](https://github.com/cryptpad/cryptpad/issues/1131), [#1140](https://github.com/cryptpad/cryptpad/issues/1140), [#1150](https://github.com/cryptpad/cryptpad/issues/1150), [#1159](https://github.com/cryptpad/cryptpad/issues/1159), [#1195](https://github.com/cryptpad/cryptpad/issues/1195), [#1194](https://github.com/cryptpad/cryptpad/issues/1194) - Enable zooming and scaling [#1130](https://github.com/cryptpad/cryptpad/issues/1130) - Turn login error message into an instruction [#1207](https://github.com/cryptpad/cryptpad/issues/1207) - Mobile usage - Fix the instance links layout on the home-page [#1085](https://github.com/cryptpad/cryptpad/issues/1085) - Display full file upload progress modal [#1086](https://github.com/cryptpad/cryptpad/issues/1086) - Add text to Teams buttons [#1093](https://github.com/cryptpad/cryptpad/issues/1093) - Fix button spacings [#1104](https://github.com/cryptpad/cryptpad/issues/1104), [#1106](https://github.com/cryptpad/cryptpad/issues/1106) - Add even space between category buttons [#1113](https://github.com/cryptpad/cryptpad/pull/1113) thanks to @lemondevxyz - Allow the About panel to be closed [#1088](https://github.com/cryptpad/cryptpad/issues/1088) - Calendar - Display full event edit panel [#1094](https://github.com/cryptpad/cryptpad/issues/1094) - Make menu usable [#971](https://github.com/cryptpad/cryptpad/issues/971) - Kanban - Hide markdown help button instead of breaking the layout [#1117](https://github.com/cryptpad/cryptpad/issues/1117) - Added margin for horizontal scroll [#1039](https://github.com/cryptpad/cryptpad/issues/1039) - Remove margin from cards and columns [#1120](https://github.com/cryptpad/cryptpad/issues/1120) - Instance admin - Added a warning to `/admin/#stats` about a process that can crash the instance [#1176](https://github.com/cryptpad/cryptpad/issues/1176) - Added a setting to display a status page for the instance [#1172](https://github.com/cryptpad/cryptpad/issues/1172) - Replace the "sign up" button on the log-in page with a link [#1164](https://github.com/cryptpad/cryptpad/issues/1164) - Add support for Webp images [#1008] thanks @lukasdotcom - improvements and bug fixes for the archival of inactive documents ## Fixes - Revert a button spacing regression introduced with 5.4.0 [#1229](https://github.com/cryptpad/cryptpad/pull/1229) - Login bug on the new Safari following macOS/iPadOS 14 [#1257](https://github.com/cryptpad/cryptpad/issues/1257) - Mermaid diagrams were sometimes displayed over each other in Code documents [#1244](https://github.com/cryptpad/cryptpad/issues/1244) - Own responses to a form could not be deleted [#1239](https://github.com/cryptpad/cryptpad/issues/1239) - Timezone differences caused errors in Forms "date/time" polls - The large attachment button did not look consistent in Forms [#1237](https://github.com/cryptpad/cryptpad/issues/1237) - The recent tab in the drive was missing column titles [#1233](https://github.com/cryptpad/cryptpad/issues/1233) - An export file type dropdown was hidden inside a popup [#1241](https://github.com/cryptpad/cryptpad/issues/1241) - Guest emoji avatars were not displayed constistently [#1188](https://github.com/cryptpad/cryptpad/issues/1188) - "Early Access" apps were not shown on the instance home page even when active - OnlyOffice document conversions - Fix PDF export from Presentation document [#913](https://github.com/cryptpad/cryptpad/issues/913) - Print sheets with long links [#1032](https://github.com/cryptpad/cryptpad/issues/1032) - Fix some .xlsx imports [#1240](https://github.com/cryptpad/cryptpad/issues/1240) ## Dependencies - Pin CKEditor to 4.22.1 [#1248](https://github.com/cryptpad/cryptpad/issues/1248) - Prevent x2t from being cached [#1278](https://github.com/cryptpad/cryptpad/issues/1278) ## Deployment We now support Nginx with two configurations (find more information in our [administrator guide](https://docs.cryptpad.org/en/admin_guide/installation.html#install-and-configure-nginx)): * New recommended "basic" nginx config for small instances: `example.nginx.conf` * Update to the old "advanced" config: `example-advanced.nginx.conf` * Add 2 lines in the "blob|block" section ```diff # Requests for blobs and blocks are now proxied to the API server # This simplifies NGINX path configuration in the event they are being hosted in a non-standard location # or with odd unexpected permissions. Serving blobs in this manner also means that it will be possible to # enforce access control for them, though this is not yet implemented. # Access control (via TOTP 2FA) has been added to blocks, so they can be handled with the same directives. location ~ ^/(blob|block)/.*$ { if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' "${allowed_origins}"; add_header 'Access-Control-Allow-Credentials' true; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'application/octet-stream; charset=utf-8'; add_header 'Content-Length' 0; return 204; } # Since we are proxying to the API server these headers can get duplicated # so we hide them proxy_hide_header 'X-Content-Type-Options'; proxy_hide_header 'Access-Control-Allow-Origin'; proxy_hide_header 'Permissions-Policy'; proxy_hide_header 'X-XSS-Protection'; + proxy_hide_header 'Cross-Origin-Resource-Policy'; + proxy_hide_header 'Cross-Origin-Embedder-Policy'; proxy_pass http://localhost:3000; } ``` * Fix DrawIO hash not matching the latest version ```diff # draw.io uses inline script tags in it's index.html. The hashes are added here. if ($uri ~ ^\/components\/drawio\/src\/main\/webapp\/index.html.*$) { - set $scriptSrc "'self' 'sha256-6zAB96lsBZREqf0sT44BhH1T69sm7HrN34rpMOcWbNo=' 'sha256-6g514VrT/cZFZltSaKxIVNFF46+MFaTSDTPB8WfYK+c=' resource: https://${main_domain}"; + set $scriptSrc "'self' 'sha256-dLMFD7ijAw6AVaqecS7kbPcFFzkxQ+yeZSsKpOdLxps=' 'sha256-6g514VrT/cZFZltSaKxIVNFF46+MFaTSDTPB8WfYK+c=' resource: https://${main_domain}"; } ``` ## Upgrade notes If you are upgrading from a version older than `5.4.1` please read the upgrade notes of all versions between yours and `5.4.1` to avoid configuration issues. To upgrade: 1. Stop your server 2. Get the latest code with git ```bash git fetch origin --tags git checkout 5.5.0 ``` 3. Update dependencies ```bash npm ci npm run install:components ``` 4. Restart your server 5. Review your instance's checkup page to ensure that you are passing all tests # 5.4.1 ## Goals This point release aims to fix some deployment related issues that were identified with 5.4.0 ## Fixes - Typo in example Nginx config [[#1184](https://github.com/cryptpad/cryptpad/issues/1184)] - Enable port 3003 on Docker [[#1183](https://github.com/cryptpad/cryptpad/issues/1183] - Bind websocket to the address specified in the `httpAddress` setting [[#1182](https://github.com/cryptpad/cryptpad/issues/1182) [#1186](https://github.com/cryptpad/cryptpad/issues/1186)] - Fix production CSP headers [[#912](https://github.com/cryptpad/cryptpad/pull/912) thanks @superboum] - Fix checkup test when registration is restricted [[#1185](https://github.com/cryptpad/cryptpad/issues/1185)] - Fix collaboration of Nextcloud integration - Fix broadcast settings not applied instantly [[#1189](https://github.com/cryptpad/cryptpad/issues/1189)] ## Upgrade notes If you are upgrading from a version older than `5.4.0` please read the upgrade notes of all versions between yours and `5.4.0` to avoid configuration issues. To upgrade: 1. Stop your server 2. Get the latest code with git ```bash git fetch origin --tags git checkout 5.4.1 ``` 1. Restart your server 2. Review your instance's checkup page to ensure that you are passing all tests # 5.4.0 ## Goals This release introduces two major new features: - New Diagram application - 2 factor authentication using time-based one-time passwords (TOTP) Also included are some improvements, dependency updates, and bug fixes ## Features - Diagram application: integration of [Draw.io](https://www.drawio.com/) with CryptPad's encrypted real time collaboration [[#1070](https://github.com/cryptpad/cryptpad/pull/1070)] - Introduce a new app color for Diagram and adjust Whiteboard color [[#1059](https://github.com/cryptpad/cryptpad/issues/1059)] - New 2 Factor Authentication with TOTP [[#1071](https://github.com/cryptpad/cryptpad/pull/1071)]. To enable for a user account: 1. Settings > Security & Privacy 2. Enter your password 3. Save the recovery code 4. Snap the QR code with a 2FA app of your choice 5. ✅ 2FA is enabled - Docker deployment is now officially supported [[#1064](https://github.com/cryptpad/cryptpad/pull/1064)] ## Improvements - New setting to destroy all documents of which you are the sole owner - Settings re-organization - Add favicons in ICO format [[#1068](https://github.com/cryptpad/cryptpad/pull/1068) thanks @lemondevxyz] ## Bugs / issues - Form - Make Form question text selectable in participant view [[#1046](https://github.com/cryptpad/cryptpad/issues/1046)] - Add form title to archived notifications [[#1065](https://github.com/cryptpad/cryptpad/pull/1065) thanks to @lemondevxyz] - Add "make a copy" to office editors [[#1067](https://github.com/cryptpad/cryptpad/pull/1067) thanks to @lemondevxyz] - Disable the "protect tab" feature in Sheets as it cannot be integrated in CryptPad [[#1053](https://github.com/cryptpad/cryptpad/issues/1053)] ## Dependencies - Remove Bower to manage client side dependencies [[#989](https://github.com/cryptpad/cryptpad/pull/989) [#1072](https://github.com/cryptpad/cryptpad/pull/1072) thanks to @Pamplemousse] ⚠️ Please read upgrade notes carefully if you administer an instance - Upgrade Mermaid diagrams to 10.2.4 [[#1118](https://github.com/cryptpad/cryptpad/issues/1118)] - Upgrade CKeditor to 4.22.1 [[#1119](https://github.com/cryptpad/cryptpad/issues/1119)] ## Upgrade notes ⚠️ Please read upgrade notes carefully as this version introduces breaking changes If you are upgrading from a version older than `5.3.0` please read the upgrade notes of all versions between yours and `5.4.0` to avoid configuration issues. To upgrade: 1. Stop your server 2. Get the latest code with git ```bash git fetch origin --tags git checkout 5.4.0 ``` 3. Major changes to the Nginx config - Access-Control-Allow-Credentials header - proxy_pass request for /blob/ and /block/ to the node process - new port for the websocket - set CSP headers for draw.io, used by the new diagram app - see the [full diff](https://github.com/cryptpad/cryptpad/compare/5.4-rc#diff-a97d166145edec9545df5228d500c144bd5ec20db759cf5cc6f90309e963b1ca) 4. Bower removed - To download all dependencies, use `npm install` - Then, to copy client-side dependencies, use `npm run install:components` - `www/bower_components` can be removed 5. If you have previously used the `build` command to enable opengraph preview images - Please run `npm run build` again after upgrading 6. Restart your server 7. Review your instance's checkup page to ensure that you are passing all tests # 5.3.0 ## Goals This release updates OnlyOffice applications to version 7.1 It improves the Form application and other areas of CryptPad with minor features and bug fixes. ## Features - Upgrade OnlyOffice applications (Sheet, Document, Presentation) to version 7.1 - Forms - New question type: Date [[#811](https://github.com/cryptpad/cryptpad/issues/811)] - Add Condorcet voting results to ordered list responses - Default dark theme switch [[#759](https://github.com/cryptpad/cryptpad/issues/759)]: set dark theme as the default for the instance in `application_config.js` - New FreeBSD rc.d init script ## Improvements - Auto-select document name on edit if it's still the default [thanks to [piemonkey](https://github.com/piemonkey)] - Forms - Clarify button text to "Copy Public Link" [[#937](https://github.com/cryptpad/cryptpad/issues/937)] - Clarify text on the document creation screen so that "Expiration date" (date at which the document will be destroyed) is not confused with the _closing date_ of the form [user feedback] - Decimals are now allowed in text questions with type "number" [[Forum](https://forum.cryptpad.org/d/88-decimals-in-number-type-text-field)] - Rich Text - Move width-toggle button out of the way of the text [[#957](https://github.com/cryptpad/cryptpad/issues/957)] - Deployment - Systemd: Removed outdated logging directives and implemented sandboxing and other hardening best practices - Nginx: Invert settings to forbid remote embedding by default - Removed unused dev dependencies ## Bug Fixes - Forms and Kanban - Fixed spacing issues with input fields - Forms - Fixed ways to bypass "required" questions [[#1007](https://github.com/cryptpad/cryptpad/issues/1007) [#1014](https://github.com/cryptpad/cryptpad/issues/1014)] - Fix missing notifications for responses - Send response notifications to all owners - Rich Text - Fix scroll issues when clicking on the table of contents - Fix double notification for mention + reply in a comment - Fix issues with deprecated cache - Fix bug that kept certain documents from being "pinned" to the drive. This could lead them to be deleted for inactivity even though they were stored in the drive. Note that storage quotas may increase as a result ## Update notes If you are upgrading from a version older than `5.2.0` please read the upgrade notes of all versions between yours and `5.3.0` to avoid configuration issues. To upgrade: 1. Stop your server 2. Get the latest code with git ```bash git fetch origin --tags git checkout 5.3.0 ``` 1. Restart your server 2. Review your instance's checkup page to ensure that you are passing all tests # 5.2.1 ## Goals This minor releases fixes a bug with one of the Form features introduced in 5.2.0. We took the opportunity to include two other fixes for older issues. ## Bug Fixes - The option to delete all responses to a form was not available to form authors when the form had been created in a drive (user or team) using the **+ NEW** button - Drag & drop from a shared folder into the Templates folder made documents "disappear". They would reappear in the root of the drive when using a new worker (after all CryptPad tabs had been closed) - Clicking a link in a Calendar event location field failed to open ## Update notes Our `5.2.0` release introduced some changes to the Nginx configuration. If you are not already running `5.2.0` we recommend following the upgrade notes for that version first, and then updating to `5.2.1` To do so: 1. Stop your server 2. Get the latest code with git ```bash git fetch origin --tags git checkout 5.2.1 ``` 1. Install the latest dependencies with `bower update` 2. Restart your server 3. Review your instance's checkup page to ensure that you are passing all tests # 5.2.0 ## Goals This release is focused on addressing long-standing user feedback with new features. The most requested are improvements to Forms—multiple submissions and the ability to delete responses—as well as recurring events in Calendar. ## Features - Forms - New setting to allow participants (including Guests) to submit a form multiple times and/or delete their responses - Notifications for form owners when new responses are submitted - New option for form authors to delete all responses - New option for form authors/auditors to export responses as JSON (in addition to existing CSV and CryptPad Sheet) - Settings have been refactored in a modal with a summary in the main editor view - Display fixes for long questions/options in some question types - Calendar - New event settings to repeat periodically - quick default patterns (e.g. weekly on Mondays, yearly on December 14th, etc), and custom intervals - modify one, future, or all events - easily stop repetition from event preview - Drive - New button to filter the drive view by document type - Teams - Improved onboarding with the ability to use the same invitation link for a set number of people. Previously each link was limited to one use - Initial role can now be set for invitation links, the recipient is assigned the role directly when joining, previously all new members joined as "Viewers" - Code - Asciidoc syntax support AND asciidoc rendering - New jade language support - Removed duplicate C-language option - /checkup/ - [new test to confirm that public instances are open for registration](https://github.com/cryptpad/cryptpad/commit/174d97c442d5400d512dfccc478fd9fbd6fa075c) - new test to check that the host provides an HSTS header ## Update notes To update from `5.1.0` to `5.2.0`: 1. Read the **Nginx** section below to ensure you are using the right version and update your reverse proxy configuration to match the settings in our current `./docs/example.nginx.conf` 2. Reload nginx 3. Stop your API server 4. Fetch the latest code with git 5. Install the latest dependencies with `bower update` and `npm i` 6. Restart your server 7. Review your instance's checkup page to ensure that all tests are passing ### Nginx We added some directives that may cause issues with older versions of Nginx. We now recommend and only support [Nginx stable](https://nginx.org/en/download.html). Please note that if you are running below `v1.14.2`, applying this update will likely result in breakage. - Internet Protocol version 6 ([IPv6](https://en.wikipedia.org/wiki/IPv6)) support - TLS generation, see [the recent tutorial](https://blog.cryptpad.org/2022/12/12/tutorial-nginx-tls-acme/) on our blog - Better [TLS sessions](https://vincent.bernat.ch/en/blog/2011-ssl-session-reuse-rfc5077), handling timeout, tickets & longer cache - Longer [HTTP Strict Transport Security](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) (HSTS), now 2 years - [Online Certificate Status Protocol](https://en.wikipedia.org/wiki/OCSP_stapling) (OCSP) stapling support # 5.1.0 ## Goals We had two new members join our team in the time since our previous release. Mathilde joined us as an administrator of CryptPad.fr, so we decided to put some unplanned time towards the platform's administrative tooling to simplify some common workflows. Maxime joined us for a summer internship as a front-end developer, and took initiative on a number of popular issues from our tracker on GitHub. ## Update notes * We applied a minor optimization to CryptPad's caching rules which should result in a slight decrease of many pages' loading times, thanks to some helpful profiling by one of our users. * We have started implementing a very basic build system for CryptPad which, at the moment, is only responsible for generating a few static HTML pages. * These pages include the _opengraph_ tags which describe how previews of the page should be rendered in social media posts, messenger applications, and search engine summaries. * For the moment we haven't configured the system to build distinct pages for every language, so they will include text which is hardcoded in a single language which defaults to English. This can be configured in `config/config.js` (for example: `preferredLanguage: 'de',`). We intend to improve this in the future. * They also update the content of the page's `