All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.5.8 - 2024-7-28
- Allow passwordless sudo in JupyterLab
- Allow passwordless sudo in RStudio
- Update JupyterLab to 4.2.4
- Update PrivateBin to 1.7.4
- Update Xray to 1.8.21
- Websocket connections can now remain open for up to 1 hour
- Admin accounts can now use sudo in JupyterLab
0.5.7 - 2024-6-27
- Check if the file exists before removing it
0.5.6 - 2024-6-27
- Update JupyterLab to 4.2.3
- Ensure the removal of the socket file during launch
0.5.5 - 2024-6-26
- Enable the access of the website using raw IP addresses
- Update Xray to 1.8.16
- Allow
plugins
in the configuration file to be omitted - Prevent unnecessary downloads when rebuilding JupyterHub image
0.5.4 - 2024-6-26
- Allow
plugins
in the configuration file to be omitted
0.5.3 - 2024-6-25
- Disable rich markup when printing the output of shell commands
0.5.2 - 2024-6-22
- Update user accounts correctly
0.5.1 - 2024-6-22
- Generate Kratos secrets correctly
0.5.0 - 2024-6-22
network.hostname
has been replaced bynetwork.base_url
in the configuration file to support custom ports
- Apply a margin to the apps in the web UI
- Simplify the output of
lungo list
command - Update JupyterLab to 4.2.2
- Update RStudio to 4.4.1
- Update Stirling PDF to 0.26.1
- Update Xray to 1.8.15
- The console tab of File Browser is now working correctly
0.4.2 - 2024-5-25
- Increase the bandwidth limit for RustDesk
- Update File Browser to 2.30.0
- Update JupyterLab to 4.2.1
- Update RustDesk Server to 1.1.11-1
- Update Xray to 1.8.13
- Stream the output from the container tool to the console when verbose mode is enabled
- Always check the return code of the container tool
0.4.1 - 2024-5-16
- Forward cookies set back to the backend in subsequent sequential requests
- Show incompatible plugins in the output of
lungo list
0.4.0 - 2024-5-15
BasePlugin.config
has been renamed toBasePlugin.manifest
BasePlugin.get_render_context
has been renamed toBasePlugin.get_custom_rendering_context
BasePlugin.update_data
has been renamed toBasePlugin.on_plugin_initialization
compatible_with
is now a required field for pluginsversion
is now a required field for plugins- Custom variables in the rendering context provided by plugins are now located under the
plugin.custom
key
- Built-in RustDesk plugin
- Built-in Stirling PDF plugin
- Plugins can now perform custom actions before the rendering process
- Plugins can now specify a custom name for use in the web path
- Plugins can now specify binding ports on the host machine
- Additional variables are now accessible in the rendering context for plugins
- Websocket connections can now remain open for up to 1 hour
- Update JupyterLab to 4.2.0
- Update PrivateBin to 1.7.3
- Update RStudio to 4.4.0
- Update Xray to 1.8.11
- Plugins can be correctly installed even if the directory name differs from the plugin name
- Render dropdown menus correctly for Safari on iOS
- Ensure that the required directories always exist
- Avoid including cookies managed by other services when making requests to the backend
0.3.0 - 2024-4-15
- Raise the minimum required version of Python to 3.12
- Built-in apps are now installed as plugins
- The
modules
configuration has been renamed toplugins
- Guest role and user role accounts no longer have access to apps by default
- New plugin system
- Allow login through a one-time code sent via email
- Allow control over the maximum size of the client request body
- CLI now streams shell command output when in development mode
- Hide fullscreen button for narrow screen widths
- Update JupyterHub to 4.1.5
- Update JupyterLab to 4.1.6
- Update RStudio to 4.3.3
- Update Xray to 1.8.10
- Remove lock file when the service fails to start
- Fix the recurrent Nginx socket binding issue
- Remove an incorrect instruction from the documentation
- Do not recreate File Browser database file on every start
0.2.3 - 2024-2-16
- Allow containers to restart automatically after a crash
- Update File Browser to 2.27.0
- Update JupyterLab to 4.1.1
- Update PrivateBin to 1.7.1
- Update Xray to 1.8.7
0.2.2 - 2023-11-27
- Remove the user's last name from the greeting in the web UI
- Redirect stderr to stdout to avoid formatting issues in the CLI
0.2.1 - 2023-11-26
- Fix the permission issue during data migration
- Update bundled resources when version changes
0.2.0 - 2023-11-26
- Add the Xray module
- Add fullscreen mode for the web UI
- Add theme selector for the web UI
- Update JupyterLab to 4.0.9
- Show error messages correctly in the web UI
- Correct handling of redirects when using non-standard ports
- Include the port number in the forwarded
Host
header
0.1.12 - 2023-11-22
- Add description for
Too Many Requests
errors in the web UI
- Perform case-insensitive matching for the
Upgrade
header - Handle websocket connections correctly
- Fix the resend button in the web UI
- Remove border color of the
input
element in the web UI - Fix a bug that causes email delivery failures
- Use custom Lua code for authentication to prevent endpoint probing
0.1.11 - 2023-11-19
- Support user-defined trusted proxies
- Optimize the web UI layout for narrow screen widths
- Check if the port is available before starting the container
- Fix a bug where URL search parameters are not passed to the backend
0.1.10 - 2023-11-14
- Add a new option to protect sensitive API endpoints from brute force attacks
- Support Docker Compose with Podman backend
- Migrate to pnpm
- Fix the outdated warning in the documentation
- Fix a bug where the lock file may persist if the container tool binary cannot be found
- Hide the navigation rail when there is no app to display
0.1.9 - 2023-11-7
- Update File Browser to 2.26.0
- Update JupyterLab to 4.0.8
- Update RStudio to 4.3.2
- Do not print local variables in panic messages
0.1.8 - 2023-11-5
- Fix the GitHub Actions workflow
0.1.7 - 2023-11-4
- Add logging to Keto, Kratos, and Oathkeeper
- Documentation
- Do not pass anonymous account to Kratos
0.1.6 - 2023-10-25
- Correct the use of padding in email template styles
0.1.5 - 2023-10-25
- Make Nginx handle encoded URL paths correctly
0.1.4 - 2023-10-25
- Set Bash as the default shell in the container
- Make Nginx handle encoded URL paths correctly
0.1.3 - 2023-10-24
- Make CI to check out submodules correctly when building the image
0.1.2 - 2023-10-24
- Prevent the here-documents syntax that is not supported by Podman
- Use way less layers when building the image
0.1.1 - 2023-10-24
- Use GitHub Actions for publishing to PyPI
0.1.0 - 2023-10-24
Initial release