------
Renku ``0.21.0`` brings tidings of tweaks and bug fixes to make your Renku experience a little bit smoother.
User-Facing Changes
~~~~~~~~~~~~~~~~~~~
**✨ Improvements**
* 🎨 **UI**: Improve the layout of the project creation, session start, and file browser pages.
**🐞 Bug Fixes**
* 📃 **UI**: Update broken links to local projects and documentation, and add more links to useful resources
(`2199 <https://github.com/SwissDataScienceCenter/renku-ui/pull/2199>`_,
`2207 <https://github.com/SwissDataScienceCenter/renku-ui/pull/2207>`_,
`2209 <https://github.com/SwissDataScienceCenter/renku-ui/pull/2209>`_).
* 🚀 **UI**: Fix glitches with autosave and improve layout of session pages
(`7fbda29 <https://github.com/SwissDataScienceCenter/renku-ui/pull/2199/commits/7fbda299f6e2a956abc541565e3680160f09609d>`_,
`2211 <https://github.com/SwissDataScienceCenter/renku-ui/pull/2211>`_).
* 🔦 **UI**: Prevent flashing inputs when forking a project
(`2157 <https://github.com/SwissDataScienceCenter/renku-ui/pull/2157>`_).
Internal Changes
~~~~~~~~~~~~~~~~
**Improvements**
* **Gateway**: Add endpoint for refreshing expiring GitLab tokens
* **Knowledge Graph**: Improve functionality to refresh access tokens before expiration
* **Knowledge Graph**: Enhance migration functionality to restore missing CompositePlans
* **Knowledge Graph**: Fix to prevent data corruption which could previously occur due to duplicate Project creation dates
* **Sessions**: Check LFS size and available disk space before cloning
* **UI**: Receive notifications through WebSocket when session state changes
(`2145 <https://github.com/SwissDataScienceCenter/renku-ui/pull/2145>`_,
`2189 <https://github.com/SwissDataScienceCenter/renku-ui/pull/2189>`_).
**Bug fixes**
* **Gateway**: Do not remove Redis clients on logout
* **Gateway**: Address security vulnerabilities
* **Knowledge Graph**: Switched to the latest Alpine Linux to address docker image vulnerabilities identified by Snyk
* **Knowledge Graph**: Handle cases when Plan Invalidation Time is wrong
* **Knowledge Graph**: Make the Cross Entity search API results sorting case-insensitive
* **Knowledge Graph**: Escape Lucene keywords from Cross-Entity Search `query` parameter
* **Knowledge Graph**: Return all inactive Projects from the User's-Projects API (previously only returned 20)
* **Sessions**: Handle expiring GitLab tokens
Individual components
~~~~~~~~~~~~~~~~~~~~~~