Changes
- feat(core): Enable Sentinel by default.
- feat(security): New Security view for servers, that includes server patching through the UI
- feat(ui): Upgrade UI to TailwindCSS v4
- feat(terminal): implement resize handling with ResizeObserver for improved terminal responsiveness!
- feat(api): Add
connect_to_docker_network
setting to App creation API - feat(api): Add latest query param to Service restart API
- feat(core): Improve Pull Request comment message
- feat(core): Add support for
postmarkos
&fedora-asahi-remix
distros - feat(service): update Maybe service and adjust it for the new release
- feat(oauth): set redirect uri as optional and add default value
- feat(terminal): enable/disable web terminal access by server
- feat(services): parallel stop services so the stop/restart process woudl be faster
- feat(services): if a service contains more than 5 services, the timeout is decreased to 10 seconds when stopping them
- feat(terminal-connection): enhance terminal connection handling with auto-connect feature and improved status messaging
- feat(activity-monitor): implement auto-scrolling functionality and dynamic content observation for improved user experience
- feat(utf8-handling): implement UTF-8 sanitization for command outputs and enhance error handling in logs processing
- fix(database-backup): add MongoDB credential extraction and backup handling to DatabaseBackupJob
- fix(terminal): Terminal through Cloudflare tunnel works?!
- fix(core): Start proxy by default.
- fix(jobs): Jobs that is running on the same server now have unique id, so they are not block eachother.
- fix(select-component): enhance user interaction by adding cursor styles and disabling selection during processing
- fix(modal-confirmation): decode HTML entities in confirmation text to ensure proper display
- fix(core): Sentinel based status updates handles pull request based updates better
- fix(ui): prevent preview deployments view access with deploy_key based apps
- fix(email-notifications): change notify method to notifyNow for immediate test email delivery
- fix(ApplicationDeploymentJob): ensure correct COOLIFY_FQDN/COOLIFY_URL values
- fix(service): Neon WS Proxy service not working on ARM64
- fix(service): documenso startup and mail
- fix(service): Bugsink
- fix(service): Authentik
- fix(service): add missing ENVs to NTFY service
- fix(service): Convex
- fix(service): Snapdrop
no matching manifest
error - fix(service): use the same volume between chatwoot and sidekiq
- fix(api): Nullable
destination_uuid
on service update API request - improvement(database-detection): enhance isDatabaseImage function to utilize service configuration for improved detection accuracy
- chore(service): update Immich service
- chore(service): Rename hoarder service to karakeep
- chore(deps): upgrade logdrain Fluent Bit to 4.0
- chore(deps): upgrade Node in the production Dockerfile to v24, to fix a vulnerability
- chore(deps): update Authentik service to 2025.4.1
- refactor(install-scripts): update Docker installation process to include manual installation fallback and improve error handling
- docs(service): add new docs link for zipline
New Services
- feat(service): Passbolt service
- feat(service): Typesense service
- feat(service): Seafile service
- feat(service): Netbird-Client service
- feat(service): Yamtrack service
- feat(service): add PG Back Web service
- feat(service): Vert service
- feat(service): Soketi App Manager - UI for your Soketi.
- feat(service): Apache Superset service
- feat(service): One Time Secret service
- feat(service): Diun service
- feat(service): Marimo service
- feat(service): Navidrome service
- feat(service): Leantime service
- feat(service): Ryot service
- feat(service): Observium service
- feat(service): Memos service
- feat(service): Limesurvey service
- feat(service): Paymenter service
- feat(service): CodiMD service
- feat(service): OrangeHRM service
- feat(service): Grist service
Issues
- fix #5226
- fix #4684
- fix #5569
- adds #5578
- fix #5790
- fix #4719
- fix #3437
- fix #5897
- adds #4857
- fix #5911
- fix #5917
- fix #5916
- fix #5915
- fix #5907
- fix #5756
- fix #5906
- fix #5932
- fix #5978
What's Changed
- fix(service): rolling updates by @derdaele in #5731
- Fix system theme causing light mode defaults in checkTheme() by @The-Best-Codes in #5740
- chore(deps-dev): bump vite from 6.2.6 to 6.3.4 by @dependabot in #5743
- fix(DatabaseBackupJob): escape PostgreSQL password in backup command by @busybox11 in #5759
- Add soketi-app-manager service template 🚀 by @rahulhaque in #4797
- BugSink Integration - fix - working with cloudflared by @neooriginal in #5178
- Improve ApplicationPullRequestUpdateJob message content by @itsisak in #5549
- Authentik update - 2025.2.4 by @Datenschmutz in #5576
- install: Add support for postmarketOS by @manoedinata in #5608
- fix(constants): adding 'fedora-asahi-remix' as a supported OS by @JCluzet in #5646
- fix(api): allow nullable destination_uuid by @megheaiulian in #5683
- chore(deps): upgrade Fluent Bit to 4.0 by @noahstreller in #5719
- Rename hoarder service to karakeep by @MohamedBassem in #5607
- Update Supabase services and Postgres image version by @pujan-modha in #5708
- feat: Add memos service tamplate by @leonovk in #5032
- Update documenso.yaml by @MeXaaR in #5737
- Upgrade Tailwind to v4 by @johngerome in #5710
- feat(templates): add navidrome service template by @antond15 in #5022
- Adding Passbolt as a template by @kunumigab in #5769
- fix(compose): ntfy - add proxy and web_push_file settings by @leikoilja in #5629
- Add Vert service by @FranckKe in #5663
- Add Ryot service by @IgnisDa in #5232
- feat(service): add Marimo by @peter-gy in #5559
- Add service template Diun by @Datenschmutz in #5113
- Add Observium Service by @Rustypredator in #5613
- Add Leantime Service Template by @marcelfolaron in #5792
- Adding Limesurvey as a service by @howardshand in #5751
- feat: add Paymenter template by @CorwinDev in #5809
- feat: New Service CodiMD by @Manaf941 in #4867
- Update convex.yaml by @NarendraPatwardhan in #5827
- feat: Add Typesense service template by @dusanbre in #5643
- fix(service): Snapdrop
no matching manifest
error by @ShadowArcanist in #5849 - Authentik template update - Release 2025.4.1 by @Datenschmutz in #5830
- fix(service): use the same volume between chatwoot and sidekiq by @YAlmuzaini in #5851
- feat: new service Yamtrack by @CrazyTim71 in #5845
- feat(service): add PG Back Web service by @ejscheepers in #5079
- feat(service): update Maybe service by @albertorizzi in #5795
- fix(docker-compose build) added --no-cache flag by @christopherpickering in #5794
- feat(oauth): set redirect uri as optional and add default value by @arnaud-dezandee in #5760
- feat(service): add apache superset service by @nktnet1 in #4891
- feat(service): add One Time Secret service by @nktnet1 in #5650
- feat(service): add Seafile service by @nktnet1 in #5817
- fix(ApplicationDeploymentJob): ensure correct COOLIFY_FQDN/COOLIFY_UR… by @bayramkazik in #5833
- feat(service): add Netbird-Client service by @kunumigab in #5873
- feat(service): add OrangeHRM and Grist services by @howardshand in #5212
- fix(service): Neon WS Proxy service not working on ARM64 by @ShadowArcanist in #5887
- chore(service): update Immich service by @CrazyTim71 in #5886
- feat(api): Add latest query param to Service restart API by @dusanbre in #5881
- Add connect_to_docker_network setting to the application API by @nurdism in #5691
- docs(zipline): adding new docs link for zipline by @baptisthecht in #5912
- Capitalize "WordPress" properly by @slaFFik in #5958
- change db proxy to use volume mount for config by @djsisson in #5981
- v4.0.0-beta.419 by @andrasbacsai in #5815
- Fine tunes for v419 by @andrasbacsai in #5995
- Small fixes before release by @andrasbacsai in #5999
New Contributors
- @derdaele made their first contribution in #5731
- @The-Best-Codes made their first contribution in #5740
- @rahulhaque made their first contribution in #4797
- @neooriginal made their first contribution in #5178
- @itsisak made their first contribution in #5549
- @manoedinata made their first contribution in #5608
- @JCluzet made their first contribution in #5646
- @noahstreller made their first contribution in #5719
- @MohamedBassem made their first contribution in #5607
- @pujan-modha made their first contribution in #5708
- @leonovk made their first contribution in #5032
- @MeXaaR made their first contribution in #5737
- @johngerome made their first contribution in #5710
- @antond15 made their first contribution in #5022
- @leikoilja made their first contribution in #5629
- @IgnisDa made their first contribution in #5232
- @peter-gy made their first contribution in #5559
- @Rustypredator made their first contribution in #5613
- @marcelfolaron made their first contribution in #5792
- @CorwinDev made their first contribution in #5809
- @Manaf941 made their first contribution in #4867
- @NarendraPatwardhan made their first contribution in #5827
- @dusanbre made their first contribution in #5643
- @YAlmuzaini made their first contribution in #5851
- @CrazyTim71 made their first contribution in #5845
- @christopherpickering made their first contribution in #5794
- @arnaud-dezandee made their first contribution in #5760
- @bayramkazik made their first contribution in #5833
- @slaFFik made their first contribution in #5958
Full Changelog: v4.0.0-beta.418...v4.0.0-beta.419