Release notes
In this document, we will keep track of all release notes of Runtipi.
4.8.1
Warning: This release contains security fixes, please update as soon as possible.
This release focuses on important security improvements across different areas and fixing a recent security advisory
- App Throttling: Added rate limiting to authentication endpoints to prevent brute-force attacks. Login and TOTP verification endpoints are now limited to 10 requests per minute. Additionally, TOTP attempts are limited to 5 failures before the session is invalidated, improving security against automated attacks.
- App store deletion now properly validates that the store exists before attempting deletion
- Protected Certificate Endpoint: The self-signed certificate download endpoint now requires authentication, preventing unauthorized access to local SSL certificates. If you share a dashboard with other users, you now have to share the certificate with them manually.
- App Store Slug Validation: Added proper validation for app store slugs to ensure only valid characters
- Limit the guest dashboard app payload to the strict minimum and avoid sending the app custom config which is not useful to the guest user
4.8.0
This release addresses a security report by hardening the reset-password flow. The process is now only done through the CLI without having to set the new password through the UI. This removes the window in which someone else on the network could fill in the new password before the user which requested it. Thanks @fy0lai for the report.
- Any app from an app-store can now be fully customized through the UI
- Fix a translation issue in the login page @Mouette03
- Improve accessibility across UI components @Onigam
4.7.2
This release addresses a critical security vulnerability involving unauthenticated path traversal and potential Remote Code Execution (RCE). We strongly recommend all users update their installations immediately.
A vulnerability was identified where the user config controller lacked proper authentication and input sanitization. This allowed an unauthenticated remote attacker to perform a path traversal attack using the :urn parameter.
All the code paths that were using user provided values have been hardened to be properly sanitized.
Related security advisory: https://github.com/runtipi/runtipi/security/advisories/GHSA-mwg8-x997-cqw6
4.7.1
Fixes
- Fix a regression causing UDP port to not be correctly added in the generated compose file
4.7.0
An important security patch is included in this release. The flaw allows an authenticated user to execute arbitrary system commands on the host server by injecting shell metacharacters into backup filenames. For more details see the linked security advisory . We recommend everyone to upgrade to the latest version.
New features
- Runtipi now supports native
docker-compose.ymlsyntax for custom apps. Alongside the existing docker compose json format, users can now define their apps in a docker-compose.yml file by including thex-runtipimeta tags to define the app behavior - New setting to manually disable the force pull for each application
- In the “Files” tab of an app, where the user can configure their custom configs the main docker-compose.yml file is now visible as well as the app.env
Improvements
- The OTP input is now auto focused when the page loads
- During an app update, the compose file is not shown in the diff viewer if it didn’t change
- Add support for cachyos in the install script
- The generated compose will not include an extra network if the stack is only composed of 1 service
Fixes
- App logs are now correctly escaping XML tags. This was previously allowing an app to display HTML formatted text in the logs
- Properly sanitize backup filenames during upload to prevent authenticated RCE vulnerability
4.6.5
Fixes
- Update traefik to v3.6.1. This fixes an upstream issue that was preventing the use of latest Docker v29
4.6.4
Fixes
- Fixed how timestamps are stored in the database. This will resolve issues that could arise when the server timezone is not in sync with the database one
Improvements
- New translations in various languages
4.6.3
Fixes
- Fix missing translations in the new batch action features
- Fix broken link for Crowdin
4.6.2
Fixes
- Fix an issue making the apps look uninstalled when they were stopped
4.6.1
Fixes
- Fix the JSON editor in custom app form, not being always enabled when the JSON is valid
4.6.0
New features
- Add the ability to ignore an update for an app. The update alert will be shut down and the app won’t update when running update-all or using the CLI
- Add a new action bar in the apps section of the dashboard. Quickly perform bulk actions like stop all running, start all stopped or restart all.
Improvements
- Runtipi will now periodically sync all app statues with the docker engine. This improves the accuracy of the app status displayed in the dashboard and allows to get out of stuck states.
- Re-run app-data permissions check after running docker command
- New value in
app.envAPP_IMAGE_TAG
Technical
- Fix e2e test for backup & restore @gurvanhenry
4.5.5
Fixes
- Correctly wait for the queue to be up before running before initializing the server
- Migrate from Bun to Node.js as a server runtime. This will unlock some users with older CPUs
4.5.3
Fixes
- Remove health check from
runtipi-queueas it was preventing some users to start runtipi
4.5.2
Fixes
- Prevent installing or updating apps that have an incompatible schema
- Re-run the permission changes on app-data folder after the docker compose command
Improvements
- Switch from rabbitmq to lavinmq to be able to use healthchecks on the container again
4.5.1
Fixes
- Fix to allow ports to be described as strings. This allows dynamic values with env variables or port ranges.
4.5.0
New features
- Users can now create fully custom apps. Click the new “Add custom app” tile on the Apps page to create an app from scratch without relying on an app store. You can configure mounted volumes, mapped ports, environment variables, and more.
- Users can now set the maximum number of backups globally (Advanced Settings) or on a per-app basis. Runtipi will keep only up to the configured number of backups.
- Users can now upload backups directly through the UI to restore an app later.
- When updating an app, you will be shown a diff to compare changes and decide whether to update.
- compose.json now supports docker bind mount configs
Improvements
- When an update is available, release notes for all skipped versions will be shown.
- Various UI fixes and improvements
Technical
- Bump docker compose version to 2.40.0
- Bump traefik to 3.5.3
- Migrate server runtime from Node to Bun
4.4.0
New features
- Added a new dev debug panel. Triggered by pressing the keys “D + E + V” simultaneously in development mode
- New per app env variables:
APP_EXPOSED_DOMAINandAPP_LOCAL_DOMAIN - New CLI appstore commands, use with
./runtipi-cli appstore@AlphaRyz3
Fixes
- If an app gets deleted from the store, the frontend will load the files from the installed version
- Fix header logo to link back to
/dashboardinstead of a blank page
Improvements
- Redesign of the app details page to give more space and hide secondary commands in a sub-menu
- CLI will now wait for backup actions to complete before succeeding the command
- The worker can now perform up to 3 docker compose commands in parallel speeding up bulk operations
- Give apps a fixed network name instead of default docker naming
- Increase the network pools from 254 to 32,375 to rule out any edge case where the user has many networks created on their machine
Technical
- Update traefik version to v3.5
- Update docker compose version to v2.39.2
- Updated translations in various languages
4.3.0
New features
- You can now edit your custom user-configs and app.env directly from the Runtipi UI
- Add DNS property to
docker-compose.json
Improvements
- CLI will now wait for app action to complete before succeeding the command
- Add a button to show password input in install form
- Improve logging for errors
4.2.1
Fixes
- Custom port and ssl port where not correctly picked up from user config
- When custom ssl port is configured, runtipi now opens app on the correct domain with custom port
4.2.0
New features
- Add a button to generate a free random port in app install form
Improvements
- Start all apps only in case of new runtipi version update
- Apps are not pulled in case of a
startAllevent - CLI has been rewritten to Go for smaller binary size and easier cross platform compilation
Fixes
- Default values where not picked up during app installation
- Preserve file permissions during backup
- Correctly delete
app-datadir after uninstall - Set the app stores git as safe.directory to avoid dubious ownership error
4.1.1
Improvements
- Remove CPU intensive healthcheck on rabbitmq container
Fixes
- Fix theme base and theme primary color not saved across restarts
4.1.0
Features
- Customize your runtipi dashboard by changing the base theme and the primary color
- Add a button to download the self-signed certificate from the guest dashboard
- Include app’s
user-configin app backups - Allow custom local subdomain for each app
- Allow overrides by architecture in docker-compose.json
- Links can now be displayed on guest dashboard
Improvements
- After updating app settings, an indicator will be displayed if the app needs a restart
Fixes
- Fix network overlapping IPs by looking at docker networks directly instead of using the database as source of truth
- Fix repo pulling issue when origin cannot be detected automatically
4.0.3
Fixes
- Assign a dedicated subnet for each new network to avoid conflict in IP addresses when the user runs more than 15 apps
- Refactor repo cloning service to avoid and clean git zombie processes
4.0.2
Fixes
- Fixed duplicate health check start policy preventing stack to start
4.0.1
Bug fix release.
4.0.0
This is a breaking change release. Please read the migration guide before updating as you will need to perform some manual steps.
New features
- Multiple app store support: Add your own repositories or community-created app stores
- SSL certificates are now automatically re-created when expired
Improvements
- Moved the runtipi-queue to its own container for increased reliability
- Improved PWA (Progressive Web App) user experience
- Added local domain to guest dashboard for easier app access
- Multi-network support for more complex app setups and increased security
- Better category selection with ability to clear filters
- Apps automatically start on system boot if they were previously running
Fixes
- Fixed timezone selector width
- Fixed scrolling issues on guest dashboard
3.10.0
Features
- Added a settings option to change log level. This lets users enter debug mode and have more logs
- Added a new option for dynamic compose:
extraLabelsto add custom labels to a container with variable interpolation - Added the new options for volumes in dynamic compose:
sharedandprivatethat respectively add the labels:zand:Zto the bind mount - Added the possibility to enable experimental flags from the
settings.jsonfile - Allow custom forward auth url in settings.json. Opening the system to other auth systems
Fixes
- Properly render
sysctlsoptions in the generated compose
3.9.4
Fixes
- Fix login issue when the runtipi domain doesn’t use a standard TLD
3.9.3
Fixes
- Fix login issue with domain names on Public Suffix list
3.9.2
Fixes
- Fix login issue with invalid cookie domain
- Fix guest dashboard “open with local domain” & scrolling issue
- Fix advanced settings not correctly saving values
3.9.1
Fixes
- Remove extra /app-data suffix in advanced settings
appDataPath
3.9.0
New features
- Protect your exposed apps with authentication using runtipi login screen
- Add advanced features in the settings UI
- Show local domain open option in guest dashboard
- Add
sysctlsoption in dynamic config & allowcore&memlockinulimits - Add clear option in app store category selector
Fixes
- Make language setting stick for 365 days
Improvements
- Use the docker
--pull alwaysflag only for apps that are not on a pinned version - Regenerate a new certificate for local domain when the current one is about to expire
3.8.4
Fixes
- Automatically reconnect to queue when failure happens
Improvements
- Stream docker-compose output to runtipi’s logs for easier debugging
Technical
- Fix sourcemaps upload to Sentry
- Switch from ncc to esbuild for server bundle
3.8.3
Fixes
- Uses default network interface to detect internal_ip instead of the first valid one
Improvements
- Remove web sockets communications in favor of Server-Sent Events for increased stability
- Add more useful logging
- Improve translations
- Log docker errors in the browser console
3.8.2
Fixes
- Fetch latest version in the background to not block the initial app rendering
- Allow ports to be defined as strings in
docker-compose.json
Improvements
- Improve logs structure and verbosity
3.8.1
Fixes
- Allow apps to have no port
- Docker-compose.json deploy schema was wrong
- Default boolean values to
falsein install form instead ofundefined - (CLI) Add new
versioncommand to print the installed Runtipi version
3.8.0
Features
- Extended the docker-compose.json specs to support more docker-compose options
- [CLI] Add new
versioncommand to print the installed Runtipi version
Improvements
- Cap the line number in
.log.historyfiles to max 10k lines and avoid ever-growing log files
Technical
- Update traefik to version 3.2
- Update docker-compose to version 2.32.1
3.7.5
Fixes
- A concurrency issue in the queue was making all the events stuck and timeout until restarting the instance
- An error handling issue was stopping the auto pulling of the app store from working
3.7.4
Fixes
- Missing traefik labels for apps generated with new JSON format
3.7.3
Bug fix release.
3.7.2
Fixes
- Fix a bug that would try to set response headers after the response was sent
- Add back legacy db migrations in case a user updates by jumping versions
Improvements
- Add the ability to control timeouts in
settings.json - Improve error handling in the backend
3.7.1
Fixes
- Issue when saving settings, the system would stack
/app-datafolders insettings.json - Wait for rabbitmq to be fully started before running the server
- Fix dashboard error when the server cannot retrieve the system load
- Fix issue in response headers when returning app images
- Allow number type as an environment value (docker-compose.json)
- Improve frontend re-renders by selecting theming state values directly
- Fix timezone issue when updating a link on the dashboard
3.7.0
Runtipi has gone through an entire rewrite from Next.js and a node-based side worker to a Nest.js backend and a plain React SPA. This rewrite re-thinks the backend architecture to enable us to move faster from now on and implement more ambitious features the community requests.
This is a minor update as no breaking change was introduced during this re-write and everything is backward compatible.
3.6.4
Fixes
- Don’t try to use dynamic compose config if app has
dynamic_configset tofalse - Port not open by default with dynamic compose apps
Improvements
- Improve Portuguese translations
3.6.3
Improvements
- Updated translations in various languages
Fixes
- Fix Size Mismatch issue when backing up app
3.6.2
Improvements
- Add more options for
docker-compose.json - Updated translations in various languages
Technical
- Upgrade to traefik v3.1.4
- Upgrade compose plugin to v2.29.7
3.6.1
New features
- Allow to set custom LOG_LEVEL in user .env
Fixes
- App status not correctly set when action fail
- Some app backups failing silently and crashing the system
- App store too many file opened in the backend
- Add missing translated strings in the frontend
Technical
- Upgrade compose plugin to v2.29.2
3.6.0
New features
- New button in settings to force pull the app store repo instead of waiting 30 min
Improvements
- Sort backup list newest -> oldest
- Add support for base64 random values
Fixes
- When changing local domain, previous certificate was not cleaned up correctly preventing to re-generate it when switching back to the previous domain
3.5.3
Improvements
- Add a “new” badge in the app-store to recently added apps @sergi0g
- Add support for colors in log terminal
Technical
- Add support for docker-compose.arm64.json files @steveiliop56
- Remove prettier and eslint in favor of biome.js @meienberger
- Isolate redis cache in its own package @meienberger
3.5.2
Improvements
- Disabled app backups in demo mode
- Disable error reports when the issue is due to a custom user config
Technical
- Isolate db client in its own package
- Move to biome.js for linting and formatting
3.5.1
Fixes
- Fixed a bug causing app backups to crash when some files were bigger than 2 GiB
Features
- Users can now chose to skip making a backup during an app update
3.5.0
Features
- You can now backup apps and restore from a previous state at any time from the app page. Auto backups will be performed on app update to protect against occasional broken updates.
- Timezone can now be configured from the settings page
- Add new language, Ukrainian
3.4.1
Features
- Add a new language, Portuguese Brazilian @gabrielfariasnunes
- Logs settings (follow, wrap lines) are now persisted across page refreshes
Fixes
- Logs terminal not respecting max lines set by the user
- WebSocket not working in an exposed domain setup
3.4.0
Features
- You can now view any app logs directly in the dashboard @MontejoJorge
- View runtipi logs directly in the dashboard @steveiliop56
Improvements
- Auto forward ports in codespaces @MontejoJorge
- Include
addPortsandreadOnlyoptions indocker-compose.json@steveiliop56
3.3.2
Fixes
- Fix regex in the install script to support distributions having
/etc/upstream-releaseas a directory. @hex-developer
Improvements
- Copy
tabler.min.jsat build time to thepublicfolder to avoid relying on a CDN at runtime - Update traefik to v3.0
3.3.0
New features
- Apps can now require a minimum runtipi version before being installed/updated
- Add a warning when running on a VPS with open ports
- Password reset requests are now expiring after 15 minutes
Improvements
- Split install form into multiple sections for readability
- Improve CLI error handling
Technical
- Moved to Vitest Test runner
- Improved app-store page loading speed by reducing the payload
- Update traefik to v3.0
- Disable app-store repository pulling during development
3.2.0
New features
- Added restart functionality in app details view
- Apps can now generate docker-compose files on demand and specific to the user config, omitting useless labels and increasing base security. Eg: Port opening can now be disabled during app installation (This is pending an app store migration and will gradually be available for all apps)
- Users can now customize the location of all mapped folders through custom environment variables. See documentation
Improvements
- The app store page has now an infinite scroll functionality instead of a “load more” button
settings.jsonfile now allows string values forportandsslPort- Print dashboard URL after resetting password in CLI
- Improve error handling and printed messages in CLI
Chore
- Update docker-compose to v2.27.0
- Renamed
storagePathsetting toappDataPathfor consistency. (Backwards compatible)
3.1.3
Fixes
- Fix missing $PWD variable in
docker-compose.yml
3.1.2
Fixes
- Add missing traefik labels for exposing dashboard
3.1.1
Improvements
- Merge worker and dashboard in a single
runtipidocker image @steveiliop56 @meienberger
3.1.0
Features
- Create a new smart search and paginate the app-store results @meienberger
Fixes
- Fix the field type in install form @I-Need-C8H10N4O2
- Fix select fields not populated with their value when updating app settings @MontejoJorge
3.0.3
Fixes
- Increase CLI compatibility by targeting
muslto fix a bug with glibc compatibility in older distributions
3.0.2
Fixes
- Fields
portandsslPortof thesettings.jsonfile where not correctly registered on start
3.0.1
Fixes
- There was an issue with some apps and their permissions to access the files
3.0.0
This is a breaking change release. Please read the migration guide before updating as you will need to perform some manual steps.
New features
- New custom link feature. You can now add custom links to your dashboard. This is useful to link to other services or to add a link to your app’s admin panel. @MontejoJorge
Improvements
- The CLI has been rewritten as a native binary. This will make the CLI faster, smaller and more reliable. You can see the new CLI repository here @meienberger @steveiliop56
- Release assets are now distributed as a compressed tarball. This will make the download faster and smaller @meienberger
- The worker now exposes an authenticated REST API @steveiliop56
- Added support for Manjaro in the install script @iajrz
- Move the “Forgot password” link under the login button for better UX @I-Need-C8H10N4O2
Technical
- Refactored the Docker ignore file to an exclude first approach. This will make the Docker build faster and smaller during development @meienberger
- New nightly release pipeline to test the latest changes before releasing a new version @meienberger
- Flattened the translation files to make it easier to add new keys @meienberger
- Bump all dependencies
2.5.0
New features
- Users can now update all apps in one go with a new “Update all” button on the dashboard #1067 @MontejoJorge #1100
- New setting to stop
traefik.ymlfrom being overwritten on start #1106 @steveiliop56
Improvements
- Fall back to store image if an app image is not found @steveiliop56 #1104
- Added a new welcome screen and made the error monitoring option opt-in @meienberger #1107
- Add an in-memory cache to avoid repeatedly reading and parsing the
settings.jsonfile @meienberger #1107 - The dashboard now displays the system info in real-time #1121 @steveiliop56 @meienberger
Fixes
- The reset function is now working properly @steveiliop56 #1101
- Fix the loading button when logging in and registering @meienberger #1107
2.4.0
New features
- Users can now start Tipi with a custom env file to override any environment variable.
./runtipi-cli start --env-file ./.env.custom#1073 @meienberger - Allow the main compose file to be changed from user-config #1069 @steveiliop56
Improvements
- Apps can now be deprecated in the app store. Users who installed the app will still see it with a warning to migrate to a more recent version #1075 @meienberger
- Add support for rocky OS #1076 @DansNewLegs
Fixes
- Fix the worker socket not working when the dashboard is exposed through domain #1074 @meienberger
- The web app was crashing when visiting an incorrect URL under
/apps
2.3.1
Improvements
- Strip out hostname from fetch errors sent to sentry #1059 @meienberger
Fixes
- The app was crashing without any actionable insight for the user when the repo was not correctly cloned. Tipi now returns an empty list of apps and logs a helpful error #1060 @meienberger
- Previously when stopping Runtipi, if any folder or file that wasn’t an actual app was present in the apps folder (eg:
.DS_Store) Runtipi was trying to stop this app. This was fixed in #1053 @MontejoJorge - Prevent worker from crashing by adding a try-catch around the emit event
- Fix the bug preventing users from resetting their password
2.3.0
Improvements
- The worker now exposes a WebSocket allowing real-time synchronization of app status #994 @meienberger
- Added Sentry for anonymous crash reports. This is an opt-out feature that will help the team resolve issues more efficiently #1003 @meienberger
- The font was changed to Geist (previously Inter) #991 @steveiliop56
- Increased security in server actions by checking the user role #1005 @meienberger
Fixes
- A bug was making updates impossible if the CLI wasn’t able to stop Runtipi. This could have caused issues if we released a bugged version making users unable to update. Now an update will still be performed even if Runtipi fails to stop. @meienberger
- Fix the wrong title in the app details page #975 @MontejoJorge
- Fix a bug preventing users from downloading the self-signed certificate
2.2.0
New features
- You can now specify a different port for Postgres #918 @steveiliop56
- You can now reset an app directly from its settings. No need to stop, uninstall, and re-install again. #922 @cchalop1
- Tipi now automatically starts on system boot. No need to setup a systemd service anymore. #919 @meienberger
Improvements
- Tipi works now fully rootless thanks to work done to dockerize the worker previously running on the host system. Tipi is now fully Docker-based and can be run in any environment that can run Docker. #919 @meienberger @steveiliop56
- After an update, apps are now restarting again if it was running before update. @cchalop1 closes #906
- (DEV) - When testing an app store repo, it is now possible to directly include the URL with the branch name in the settings and that branch will be checked out. @0livier
Fixes
- A bug was making app installs fail silently and mark the app as “running” while it was not. #919 @meienberger
2.1.0
New features
- You can now enable the Guest Dashboard in your settings. A simple page listing the available apps will be displayed to logged-out users.
- You can now change your account email from the settings
Improvements
- Move from Docker hub to GitHub container registry
- Improved CLI messages for app commands
- Bump dependencies
Fixes
- Make the install app form scrollable when there are too many fields
- Add missing empty page state when app store search results are empty
2.0.7
Improvements
- feat(cli): add commands for starting and stopping apps #796
- chore: make theme cookie expire after 365 days
- Bump dependencies
fixes
- fix(theme): detect system theme when theme cookie is not present #791
- chore(cli): generate APP_PROTOCOL env var even for http #797
2.0.6
Improvements
- Migrated repos from a personal account to a new organization account
- Refactored all pages to use Next’s implementation of React Server Components
Fixes
- Fix a bug that was causing the start script to run for multiple minutes in certain cases
- Always pull image on app start @DireMunchkin
2.0.4
Improvements
- Added more logs to the CLI in order to debug properly
Fixes
- Fix a bug in which the app store would not pull the latest app updates
2.0.3
⚠️ This update fixes a problem where updating automatically with the “Update” button would not work. Please update manually with the CLI using the instructions below.
Improvements
- Added more logs to the CLI in order to debug properly
Fixes
- Disables the ability to update Tipi via the “Update” button in the settings. This removal is because multiple users have had issues with the app crashing after updating this way.
- Fix a bug in how the app store repo is pulled
2.0.2
Fixes
- Fixed permissions issue from the rootless mode introduced in 2.0.0
2.0.1
New features
- New language: Italian. Thanks to @FabioCingottini! Help us translate to more languages via Crowdin
Improvements
- Move db migrations in CLI start command #659
- Move back to next.js managed server #662
- Expose env vars
TIPI_UIDandTIPI_GIDfor apps to use - Allow html in app’s
description.md - Start all previously running apps on launch
- Offer the option to start with
--no-sudowith warnings about it - Only allow 6 apps max in demo mode
Fixes
- Panel width too small on mobile #661
- Mark the app store repo as a git safe folder before pulling
- Reset hard on origin/current_branch before pulling
- Display issue in the CLI when stopping Tipi
- Delete .gitkeep files after copying the data folder
- Fix issue with traefik requesting permission
600on fileacme.json
2.0.0
Fixes
- We tried to release a rootless experience with this new version, unfortunately, users are still facing many issues with permissions on different app folders. We are rolling back this feature and will work more on it for a next release.
1.6.0
New features
- New language Greek, Turkish and Spanish thanks to @steveiliop56 @M1n-4d316e @loxiry help us translate to more languages via Crowdin
Improvements
- A huge amount of work has been done to refactor the core of the app entirely in order to be future-proof. Now, we have a fully featured message queue on top of Redis to handle failures, logs, retires, etc. In the past, Tipi relied heavily on a dozen bash scripts hard to test and maintain. Now the whole core has been rewritten in node and is compiled to a single binary file which is the CLI.
- Enable TLS and Attach to Traefik CertResolver @HeyOsco
1.5.2
Fixes
- Fix incorrect condition in
install.shcausing the certificate to not be correctly carried on when updating
1.5.3
New features
- New language Vietnamese and Spanish thanks to @nghialele for translations
Fixes
- Hide option to open through local ip if
force_exposeis set totruefor the app - Keep local certificate when updating
- Don’t delete
portandsslPortwhen updating settings through the app
1.5.0
New features
- Introducing the local domain setting! You can now configure a local domain (eg:
tipi.lan) to have automatic HTTPS and self-signed certs for all your apps and your dashboard when you are in local network. Read more in the documentation - New language German and Hungarian thanks to @m-lab-0 @Schmanko help us translate to more languages via Crowdin
Fixes
- Make the required boolean field pass with a false value
- The locale was not read correctly in the browser resulting in incorrect values displayed in the language selector
Improvements
- Added loading state to the dashboard page
Deprecated
- Deprecated usage of start script arguments like
--domainusers now have to switch to thesettings.jsonfile.
Technical
- App variables replacement in the data folder. We can now have extended app configurations by having variables replaced in any file located in the apps’
datafolder. - New automated E2E test suite using playwright in order to test core features before new releases
1.4.2
New features
- Add new languages to the app Swedish thanks the translators @NoisyFridge help us translate to more languages via Crowdin
Fixes
- Boolean field in Install form could not be set to false
- Corrected visual regression in installed apps. Name was not aligned with status
1.4.0
New features
- Add new languages to the app (English, French, Japanese, Polish, Romanian, Russian, Chinese Simplified, Chinese Traditional) thanks the translators @iepure @Innocentius @SergeyKodolov help us translate to more languages via Crowdin
Improvements
- Change JWT session to Cookie based. Will imporve UX on first page loads and increase security
Fixes
- Apps with a lowercase starting letter will no longer be pushed at the bottom of the list
- Use config.json placeholder in install form field instead of duplicating label
Technical
- Created a insecure traefik http transport to use with apps that already have a self signed cert
- Update all dependencies
- Setup dependabot
1.3.0
This update is mandatory if you want to receive all future app additions or updates
New features
- Add icons for all categories available
- Added more info in install form fields like “required indicator” and hint tooltip
- new “AI” category
- Display app website in details tab
Improvements
- Add healthcheck to all redis containers to prevent dashboard failing to connect to redis
- Make default field type
textto not break previous versions when we release new field types - Allow apps to be force exposed. The user cannot install it without a domain
Fixes
- Return default values of 0 when system-info.json fails to parse
- Keep the loading state on update and restart settings button
Technical
- Migrate from Prisma to drizzle-orm for postgres queries
- Upgrade node to 18.15