# 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/xwiki-labs/cryptpad/commit/174d97c442d5400d512dfccc478fd9fbd6fa075c) ## 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 `