Our upcoming 3.20.0 release is planned for July 7th, 2020, but we are once again releasing a minor version featuring some nice bug fixes and usability improvements which are ready to be deployed now. In case you missed [our announcement](https://social.weho.st/@cryptpad/104360490068671089) we are phasing out our usage of the `master` and basing our releases on the `main` branch. For best results we recommend explicitly checking out code by its tag.
New features:
* We've spent a little time making support tickets a little bit easier for both users and admins.
* Users can now label their tickets with a set of predefined categories, making it easier for admins to sort through related reports.
* Users and admins can both attach encrypted uploads to their messages, making it easier to demonstrate a problem with an image, video, or other example file.
* Teams now take advantage of the same "mailbox" functionality that powers user accounts' notification center. Team members with the "viewer" role can now use this feature to share documents with their team using the "share menu" as they already can with other users. Anyone with the ability to add a document to the team's drive will then be able to receive the notification and add the document to the team's drive for them. Going forward we'll use this functionality to implement more behaviour to make teams function more like shared user accounts.
* The "pad creation screen" which is displayed to registered users when they first create a pad will no longer remember the settings used when they last created a pad. While this behaviour was intended to streamline the process of creating documents, in practice it led to some user's documents getting deleted because they didn't realize they were set to automatically expire. If you prefer not to use the defaults (owned, non-expiring) then you'll have to click a few more times to create a document, but we think that's a worthwhile tradeoff to avoid data loss.
Bug fixes:
* Hitting _ctrl-A_ in the drive used to select lots of the page's elements which had no business being selected. Now it will select the contents of the directory currently being displayed.
* Due to some complications in OnlyOffice (which we use for spreadsheets) remote updates made to a sheet were not displayed for users who had opened the document in "view mode". We still don't have the means to apply these remote changes in real-time, but we now prompt users to click a button to refresh the editor (not the full page) to display the latest document state.
* A recent update set the text color of the team chat input to 'white', matching the input's background and making the text unreadable. We patched it to make it black text on a white background.
* We're slowly working on improving keyboard shortcuts for a variety of actions. This time around we fixed a bug that prevented "ESC" from closing an open "tag prompt" interface.
* We noticed that the zip file constructed in the browser when you downloaded a subtree of a shared folder in your drive contained the correct directory structure but did not contain the files that were supposed to be there. This has been fixed.
* Finally, we've tweaked our styles to use more specific CSS selectors to prevent a variety of styles from being accidentally applied to the wrong elements. This should make the platform a little easier to maintain and help us improve the visual consistency of a variety of elements on different pages.
To update from 3.19.0 to 3.19.1:
1. Stop your server
2. Get the latest code with `git checkout 3.19.1`
3. Restart your server
If you're updating from anything other than 3.19.0 you may need other clientside dependencies (available with `bower update` and `npm i`).
"common_connectionLost":"<b>Die Verbindung zum Server ist abgebrochen</b><br>Du verwendest jetzt das Dokument schreibgeschützt, bis die Verbindung wieder funktioniert.",
"common_connectionLost":"<b>Die Verbindung zum Server ist abgebrochen</b><br>Du kannst das Dokument nicht bearbeiten, bis die Verbindung wieder funktioniert.",
"websocketError":"Verbindung zum Websocket fehlgeschlagen...",
"websocketError":"Verbindung zum Websocket fehlgeschlagen...",
"typeError":"Dieses Dokument ist nicht mit der ausgewählten Anwendung kompatibel",
"typeError":"Dieses Dokument ist nicht mit der ausgewählten Anwendung kompatibel",
"onLogout":"Du bist ausgeloggt. {0}Klicke hier{1}, um dich wieder einzuloggen,<br>oder drücke <em>Escape</em>, um dein Pad schreibgeschützt zu benutzen.",
"onLogout":"Du bist ausgeloggt. {0}Klicke hier{1}, um dich wieder einzuloggen,<br>oder drücke <em>Escape</em>, um dein Pad schreibgeschützt zu benutzen.",
@ -1087,7 +1087,7 @@
"support_disabledTitle":"Support ist nicht aktiviert",
"support_disabledTitle":"Support ist nicht aktiviert",
"support_disabledHint":"Diese CryptPad-Instanz wurde noch nicht für die Verwendung eines Support-Formulars konfiguriert.",
"support_disabledHint":"Diese CryptPad-Instanz wurde noch nicht für die Verwendung eines Support-Formulars konfiguriert.",
"support_cat_new":"Neues Ticket",
"support_cat_new":"Neues Ticket",
"support_formTitle":"Titel des Tickets",
"support_formTitle":"Neues Ticket",
"support_formHint":"Mit diesem Formular kann ein neues Support-Ticket eröffnet werden. Es erlaubt die sichere Kontaktaufnahme mit den Administratoren zur Lösung von Problemen oder Beantwortung von Fragen. Bitte eröffne kein neues Ticket, wenn du bereits ein offenes Ticket bezüglich des gleichen Problems hast. Verwende stattdessen die Antworten-Schaltfläche, um weitere Informationen hinzuzufügen.",
"support_formHint":"Mit diesem Formular kann ein neues Support-Ticket eröffnet werden. Es erlaubt die sichere Kontaktaufnahme mit den Administratoren zur Lösung von Problemen oder Beantwortung von Fragen. Bitte eröffne kein neues Ticket, wenn du bereits ein offenes Ticket bezüglich des gleichen Problems hast. Verwende stattdessen die Antworten-Schaltfläche, um weitere Informationen hinzuzufügen.",
"support_formButton":"Absenden",
"support_formButton":"Absenden",
"support_formTitleError":"Fehler: Titel ist leer",
"support_formTitleError":"Fehler: Titel ist leer",
"uploadFolder_modal_title":"Optionen für Ordnerupload",
"uploadFolder_modal_title":"Optionen für Hochladen des Ordners",
"uploadFolder_modal_filesPassword":"Passwort für Dateien",
"uploadFolder_modal_filesPassword":"Passwort für Dateien",
"uploadFolder_modal_owner":"Eigene Dateien",
"uploadFolder_modal_owner":"Eigene Dateien",
"uploadFolder_modal_forceSave":"Dateien im CryptDrive speichern",
"uploadFolder_modal_forceSave":"Dateien im CryptDrive speichern",
@ -1181,7 +1181,7 @@
"team_rosterPromote":"Befördern",
"team_rosterPromote":"Befördern",
"team_rosterDemote":"Degradieren",
"team_rosterDemote":"Degradieren",
"team_rosterKick":"Aus dem Team entfernen",
"team_rosterKick":"Aus dem Team entfernen",
"team_inviteButton":"Kontakte einladen",
"team_inviteButton":"Mitglieder einladen",
"team_leaveButton":"Dieses Team verlassen",
"team_leaveButton":"Dieses Team verlassen",
"team_leaveConfirm":"Wenn du dieses Team verlässt, verlierst du den Zugriff auf das dazugehörige CryptDrive, den Chatverlauf und andere Inhalte. Bist du sicher?",
"team_leaveConfirm":"Wenn du dieses Team verlässt, verlierst du den Zugriff auf das dazugehörige CryptDrive, den Chatverlauf und andere Inhalte. Bist du sicher?",
"team_owner":"Eigentümer",
"team_owner":"Eigentümer",
@ -1381,5 +1381,18 @@
"settings_safeLinkDefault":"Sichere Links sind nun standardmäßig aktiviert. Bitte verwende zum Kopieren von Links das Menü <i class=\"fa fa-shhare-alt\"></i> <b>Teilen</b> und nicht die Adressleiste des Browsers.",
"settings_safeLinkDefault":"Sichere Links sind nun standardmäßig aktiviert. Bitte verwende zum Kopieren von Links das Menü <i class=\"fa fa-shhare-alt\"></i> <b>Teilen</b> und nicht die Adressleiste des Browsers.",
"info_imprintFlavour":"<a>Rechtliche Informationen über die Administratoren dieses Servers</a>.",
"info_imprintFlavour":"<a>Rechtliche Informationen über die Administratoren dieses Servers</a>.",
"info_privacyFlavour":"Unsere <a>Datenschutzerklärung</a> beschreibt, wie wir deine Daten verarbeiten.",
"info_privacyFlavour":"Unsere <a>Datenschutzerklärung</a> beschreibt, wie wir deine Daten verarbeiten.",
"user_about":"Über CryptPad"
"user_about":"Über CryptPad",
"support_cat_all":"Alle",
"support_cat_other":"Anderes",
"support_cat_account":"Benutzerkonto",
"support_cat_data":"Datenverlust",
"notification_folderSharedTeam":"{0} hat einen Ordner mit dem Team {2} geteilt: <b>{1}</b>",
"notification_fileSharedTeam":"{0} hat eine Datei mit dem Team {2} geteilt: <b>{1}</b>",
"notification_padSharedTeam":"{0} hat ein Pad mit dem Team {2} geteilt: <b>{1}</b>",
"support_addAttachment":"Anhang hinzufügen",
"support_attachments":"Anhänge",
"support_cat_bug":"Fehlerbericht",
"oo_refresh":"Neu laden",
"support_category":"Wähle eine Kategorie",
"oo_refreshText":"Dieses Dokument wurde aktualisiert"
"support_disabledHint":"This CryptPad instance is not yet configured to use a support form.",
"support_disabledHint":"This CryptPad instance is not yet configured to use a support form.",
"support_cat_new":"New ticket",
"support_cat_new":"New ticket",
"support_formTitle":"Ticket title",
"support_formTitle":"New Ticket",
"support_formHint":"This form can be used to create a new support ticket. Use it to contact the administrators to solve issues or ask any question in a secure way. Please don't create a new ticket if you already have an open ticket about the same issue, but use the reply button to provide more information.",
"support_formHint":"This form can be used to create a new support ticket. Use it to contact the administrators to solve issues or ask any question in a secure way. Please don't create a new ticket if you already have an open ticket about the same issue, but use the reply button to provide more information.",
"support_formButton":"Send",
"support_formButton":"Send",
"support_formTitleError":"Error: title is empty",
"support_formTitleError":"Error: title is empty",
@ -1187,7 +1187,7 @@
"team_rosterPromote":"Promote",
"team_rosterPromote":"Promote",
"team_rosterDemote":"Demote",
"team_rosterDemote":"Demote",
"team_rosterKick":"Kick from the team",
"team_rosterKick":"Kick from the team",
"team_inviteButton":"Invite contacts",
"team_inviteButton":"Invite members",
"team_leaveButton":"Leave this team",
"team_leaveButton":"Leave this team",
"team_leaveConfirm":"If you leave this team you will lose access to its CryptDrive, chat history, and other contents. Are you sure?",
"team_leaveConfirm":"If you leave this team you will lose access to its CryptDrive, chat history, and other contents. Are you sure?",
"team_owner":"Owners",
"team_owner":"Owners",
@ -1381,5 +1381,18 @@
"settings_safeLinkDefault":"Safe Links are now turned on by default. Please use the <i class=\"fa fa-shhare-alt\"></i> <b>Share</b> menu to copy links rather than your browser's address bar.",
"settings_safeLinkDefault":"Safe Links are now turned on by default. Please use the <i class=\"fa fa-shhare-alt\"></i> <b>Share</b> menu to copy links rather than your browser's address bar.",
"info_imprintFlavour":"<a>Legal information about the administrators of this instance</a>.",
"info_imprintFlavour":"<a>Legal information about the administrators of this instance</a>.",
"user_about":"About CryptPad",
"user_about":"About CryptPad",
"info_privacyFlavour":"Our <a>privacy policy</a> describes how we treat your data."
"info_privacyFlavour":"Our <a>privacy policy</a> describes how we treat your data.",
"support_cat_account":"User account",
"support_cat_data":"Loss of content",
"support_cat_bug":"Bug report",
"support_cat_other":"Other",
"support_cat_all":"All",
"support_attachments":"Attachments",
"support_addAttachment":"Add attachment",
"notification_padSharedTeam":"{0} has shared a pad with the team {2}: <b>{1}</b>",
"notification_fileSharedTeam":"{0} has shared a file with the team {2}: <b>{1}</b>",
"notification_folderSharedTeam":"{0} has shared a folder with the team {2}: <b>{1}</b>",
"oo_refresh":"Refresh",
"oo_refreshText":"This document has been updated",