Releases: louislam/uptime-kuma
2.0.0-beta.0
Wow! When I was preparing this changelog, I just couldn't believe that we have a lot of pull requests merged in this version. I'm so grateful for all the contributors who have helped to make Uptime Kuma better. Thank you so much for your time and effort. 🙏
Warning
It is a major version update. It contains some breaking changes. Please read the migration guide carefully if you want to upgrade from v1 to v2.
Note
Pro tip#1:👉 Backup, backup and backup
Migration Guide: https://github.com/louislam/uptime-kuma/wiki/Migration-From-v1-To-v2
🆕 New Features
- #2738 #4728 #5258 #5075 Support MariaDB
- #2086 #4052 #5257 Rootless docker image (
⚠️ Not recommended for upgrading from v1 to v2) - #3441 Feat: Toast notification timeout settings (Thanks @chakflying)
- #3499 Adding x-www-form-urlencoded (Thanks @anderskvist)
- #3414 Feature: SMTP-templating of
customBody
andcustomHeader
via liquidjs (Thanks @CommanderStorm) - #2783 Add Grafana Oncall notification provider (Thanks @atmaniak)
- #3941 Chore: Allow MS Edge for real-browser monitor (Thanks @chakflying)
- #3814 Feat: Retries persistence (Thanks @chakflying)
- #3904 Feature: remote browser support (Thanks @adamhancock)
- #3857 Feat: Add json-query to MQTT monitor type (Thanks @chakflying)
- #3912 Adding a way to reset the admin password via CLI without any user interaction (Thanks @C-Duv)
- #4485 Add Heii On-Call Notification Provider (Thanks @hevans66)
- #4481 Add gtxmessaging Notification Support (Thanks @cfichtmueller)
- #4625 Cellsynt mobile services (Thanks @escw0rm)
- #4605 New notification provider: CallMeBot API (Thanks @BothimTV)
- #4323 Add support for Whapi notification provider (Thanks @edo2313)
- #4219 SevenIO Notification Provider (Thanks @scolastico)
- #4722 feat: keephq notification provider (Thanks @ezhil56x)
- #4260 Make auto refresh interval customizable (Thanks @laupse)
- #4445 Add support for custom mongodb commands (Thanks @SebastianLng)
- #3620 Add Bitrix24 Webhook notification (Thanks @furkanipek)
- #4769 New notification provider: SMS Partner API (Thanks @nicolasverlhiac)
- #1991 feat: added HTTP method option for push monitor (Thanks @0tt0sson)
- #4854 New notification provider: Threema Gateway (Thanks @booooza)
- #4717 feat: Add SNMP Monitor (Thanks @mattv8)
- #4971 Add OneSender Webhook notification (Thanks @hasanbasri1993)
- #3525 Add option to pass cache bust param (Thanks @dansullivan86)
- #5049 Add WPush Notification Provider (Thanks @anhao)
- #5058 New Notification Provider SIGNL4 (Thanks @rons4)
- #5048 [DNS Monitor] Conditions (Thanks @simshaun)
- #5047 feat: implement very crude and bare-bones RSS feed (Thanks @MrYakobo)
- #5145 Add serverchan3 support for serverchan notification provider (Thanks @easychen)
- #5167 [slack] allow the user to choose the message format to send (Thanks @DaanMeijer)
- #5253 Add
next
andnext-slim
tags - #4880 #5251 Apprise update to 1.9.0
- #5184 feat: new notification provider
46elks
(Thanks @erlaan) - #5205 feat: add notification provider
SendGrid
(Thanks @sctnightcore) - #5199 feat: add
RabbitMQ
monitor (Thanks @Suven-p)
Breaking Changes
- #3892 Drop backup and restore feature
- #3955 Drop install.sh and related files
- #4178 Drop cacheable-lookup
- #3747 Drop support for Node.js 14 and 16 (Thanks @harryzcy)
- #2085 Drop support for Alpine based docker image
- The
:duration
of these endpoints accepts24
,24h
,30d
,1y
only- /api/badge/:monitorID/ping/:duration
- /api/badge/:monitorID/uptime/:duration
💇♀️ Improvements
- #2750 Uptime calculation improvement and 1-year uptime
- #3676 UI/UX: Added no tags found message to tags filter when empty (Thanks @BrandonDR)
- #3735 #3739 Push Examples
- #2759 Use API v2 for Bark notification (Thanks @harryzcy)
- #3515 Feat: Full server-side pagination for important events (Thanks @chakflying)
- #3889 Log color and simplify startup log for production
- #3925 Zoom in on real browser screenshot (Thanks @adamhancock)
- #3801 monitor path as a notification title mattermost (Thanks @nennad)
- #3903 Attempt an OAuth2 Refresh on 401 (Thanks @HdroguettA)
- #4307 Changed the color of delete button in dashboard from red to grey (Thanks @iamabhshk)
- #4267 Feat: Add
stat_hourly
& min. max. ping (Thanks @chakflying) - #4331 Feat: Show monitor ID in Details (Thanks @chakflying)
- #4407 UI: Improve maintenace actions design (Thanks @chakflying)
- #4521 migrate timezones-list lib to @vvo/tzdb issue #4479 (Thanks @huzaifaazim0)
- #4411 [Ntfy] Only include action link if monitor url is defined #3274 (Thanks @philbot9)
- #4519 Test for db file existance instead of creating a new one in
password-restet.js
(Thanks @huzaifaazim0) - #4538 Refactor MS-Teams notification to use AdaptiveCards (Thanks @taschenuhr)
- #4503 Feat: Use custom
clientID
for MQTT monitor (Thanks @stheine) - #4541 add notification channel for home assistant (Thanks @OptimusGREEN)
- #3928 Google chat cards (Thanks @elliotmatson)
- #3886 [Slack] restructure alert actions, add 'visit site' button (Thanks @DaanMeijer)
- #4718 Add the ability to notify
@everyone
in DingTalk notifications (Thanks @niujinkai) - #3836 Making docker usage with localhost and external ip more clear (Thanks @rakovskij-stanislav)
- #4099 [discord] thread/forum channel support (Thanks @TheDanniCraft)
- #4264 Feat: Use
UptimeCalculator
for PingChart (Thanks @chakflying) - #3037 Gray out label for up/down/maintenance labels when they are zero (Thanks @j-f1)
- #3661 refactor: upload check label when monitor empty (Thanks @guguji5)
- #3878 Ignore TLS/SSL error for Redis (Thanks @HdroguettA)
- #4494 Feat: Add background color change on hover to nav links (Thanks @NihadBadalov)
- #4848 improved zoho-cliq message format (Thanks @FrancYescO)
- #4942 Show URL for "real-browser" type monitor on details page (Thanks @ghost)
- #4939 Updated croner to 8.1.0 and fixed "recurring-interval" type maintenance (Thanks @buzzinJohnnyBoi)
- #5055 Add url to pushover notification (Thanks @aizatto)
- #4800 feat: update feishu notification template (Thanks @NinoFocus)
- #5156 Disable certificate expiry notification when SSL errors are ignored (Thanks @Suven-p)
- #5025 improve page load performance of large amount urls (Thanks @vishalsabhaya)
- #5178 feat: support sound and title in
TechulusPush
(Thanks @arjunkomath) - #5223 fix: expand hover trigger area of beat (Thanks @R-HNF)
- #5227 Update API URL to compatible with the latest version of ServerChan (Thanks @easychen)
🐞 Bug Fixes
- #3017 Fix: Add external mariaDB setup (Thanks @chakflying)
- #3706 Fix: Incorrect database type check in sqlHourOffset (Thanks @chakflying)
- #3757 Fix: SetupDatabase misc. styling fixes (Thanks @chakflying)
- #3072 Fix: More accurate heartbeat Interval (Thanks @chakflying)
- #3763 changed notification.config from varchar to text. (Thanks @FJBlok)
- #3813 Fix: Missing callbacks for batch pause/resume (Thanks @chakflying)
- #3724 Fix: Wrong datatype for avgPing (Thanks @chakflying)
- #3849 Fix: Disable status page saving before getData (Thanks @chakflying)
- #3863 Fix: Clear toasts button blocked (Thanks @chakflying)
- #3950 Confirm chrome path in macOS is correct (Thanks @harryzcy)
- #3940 Chore: Fix entry page handling in Dev mode (Thanks @chakflying)
- #3961 Fix: Add axios abort signal (Thanks @chakflying)
- #3864 Fix: Use ActionSelect for Docker Host & validate input (Thanks @chakflying)
- #3994 Fix: entryPage setting can be null (Thanks @chakflying)
- #3820 fix: Clickable link monitors aren't underlined when editing status page #3795 (Thanks @dreygur)
- #4097 Fix: Add timeout to testDockerHost (Thanks @chakflying)
- #3589 Handle cookies on redirection (Thanks @dakriy)
- #3756 Fix: Disable timezone conversion for mariadb (Thanks @chakflying)
- #4155 🐛 fix(remote-browser): Remove unused test() function (Thanks @Zaid-maker)
- #3685 Fix: Filtering works with group monitors (again) (Thanks @chakflying)
- #4170 Chore: Disable console colors in browser & add JSDoc (Thanks @chakflying)
- #4185 Fix: Handle trailing slash for status page routing (Thanks @chakflying)
- #4213 Fix: typo for
disconnectAllSocketClients
(Thanks @chakflying) - #4266 Feat:
Countup
display fixed value (Thanks @chakflying) - #4322 Fix incorrect ping log (Thanks @benscobie)
- #4418 Fix: missing await in
getRemoteBrowser()
(Thanks @chakflying) - #4537 Fix: Incorrect handling of status page not found (Thanks @chakflying)
- #4472 Fix: handle monitor names with slashes (Thanks @andipaetzold)
- #4406 Feat: Handle maintenance in
UptimeCalculator
(Thanks @chakflying) - #4632 Fix: Add missing FK for monitor-tls-info table (Thanks @chakflying)
- #4871 Fix Slack notifications when URL is present (Thanks @Rudedog9d)
- #4850 Fix uptime & ping badge duration (Thanks @ZhaoQi99)
- #5018 fix:
!important
in the prim-css editor is rendered incorrectly (Thanks @solidsniper) - #4193 Fix: name column in the dashboad being squashed in some aspect ratios (Thanks @jaybhanushali3166)
- #5084 Fix missing monitors in subgroups due to missing filterFunc (Thanks @David-Development)
- #3256 fix: Both
Add
andHome
being shown as selected on the homescreen (Thanks @CommanderStorm) - #5166 Fix: Resolve notice title definition issue and add newline between title and content in notification (Thanks @dingdayu)
- #5196 fix: showing the notification activation switch properly (Thanks @julian-piehl)
- #5209 fix: slack rich notification not working correctly (Thanks @CommanderStorm)
⬆️ Security Fixes
- #912 push monitor: increase token security (Thanks @andreasbrett)
- #4214 Feat: Refresh login token for the client initiating password change (Thanks @chakflying)
- #5252 Update dependencies
🦎 Translation Contributions
1.23.15
1.23.14
💇♀️ Improvements
- #4723 Fix: Show API Keys disabled msg when disabled auth (Thanks @chakflying)
- #4757 Fix: Status Page icon do not display correctly after uploaded (Thanks @jmolnar-comparative)
⬆️ Security Fixes
- #5132 Update dependencies
1.23.13
🐞 Bug Fixes
- #4692 Fixed language setting issues: Localisation-matching algorithm missing some edgecase (Thanks @CommanderStorm)
- #4700 Fixed TLS issues: Getting TLS certificate through proxy & prometheus update (Thanks @chakflying)
1.23.12
Warning
The i18n detection mehanism which matches your languages and our languages introduced in #4244 was too basic (depending on your setup you might or might not be affected)
See #4692 for further details.
Warning
If you use proxys, please use 1.23.11
instead, as the more reliable events from #4630 don't take this part into consideration.
If you want to prevent such breakages in the future, we would be very happy with increasing the test-coverage in general ^^
💇♀️ Improvements
- #4477 Improved helptext of how to send mail via the systems mail subsystem (Thanks @apio-sys)
- #4630 Feat: Use keylog event to obtain TLS certificate for better reliability [1.23.X] (Thanks @chakflying)
🐞 Bug Fixes
- #4326 Fix
encodeBase64
for empty password or user in HTTP Basic Authentication (Thanks @Saibamen) - #4244 made sure that the i18n does use
navigator.languages
instead ofnavigator.language
for automatic language detection (Thanks @CommanderStorm) - #3598 fix(notification-dingding): throw error when failed (Thanks @AnnAngela)
- #4417 Fix: Make sure browser is connected before returning (Thanks @chakflying)
- #4425 Fix: [JSON-Query] Prevent parsing string-only JSON (Thanks @chakflying)
- #4631 Fix: Add missing FK for monitor-tls-info table [1.23.X] (Thanks @chakflying)
⬆️ Security Fixes
- GHSA-23q2-5gf8-gjpp
- #4653 fix: Update nodemailer to fix GHSA-9h6g-pr28-7cqp [1.23.X] (Thanks @Saibamen)
- #4652 fix: Update
axios
,@actions/github
anddompurify
[1.23.X] (Thanks @Saibamen) - Update all dependencies
🦎 Translation Contributions
Others
- #4633 Fix: Fix CI on Windows Runner [1.23.X] (Thanks @chakflying)
- Other small changes, code refactoring and comment/doc updates in this repo:
1.23.11
1.23.10
⬆️ Improvements
- #4216 Due to a security patch in 1.23.9, some Uptime Kuma setups behind a reverse proxy required re-configuration. It is no longer necessary now.
- If you added
UPTIME_KUMA_WS_ORIGIN_CHECK=bypass
in the previous version, you should remove it to enhance protection, unless you are using some 3rd-party plugins/apps.
- If you added
⬆️ Security Fixes
- #4213 GHSA-88j4-pcx8-q4q3 was not fully patched due to a careless mistake (Thanks @chakflying)
1.23.9
Caution
If you are using a reverse proxy, the security fix may cause connection issue to the WebSocket server. You should add ProxyPreserveHost on
in your <VirtualHost>
for Apache, and proxy_set_header Host $host;
for Nginx. Read more: #4210 (comment)
Warning
If you are using a 3rd-party frontend/tools this may be a breaking change, as the WebSocket Origin has to now match your server hostname.
Set the environment variable UPTIME_KUMA_WS_ORIGIN_CHECK=bypass
to skip this check.
See GHSA-mj22-23ff-2hrr for further details.
⬆️ Improvements
- #4163 Add an
aria-label
to the monitor search box (Thanks @CommanderStorm) - #4175 chore: added a helptext for
ntfy
'spriority
field (Thanks @CommanderStorm)
🐛 Bug Fixes
- #4186 Fix: Correct Maintenance Start/End Time Input to Use Explicitly Specified Timezone (Thanks @Ritik0102)
- #4162 Fixed the buttons of
ActionsSelect
andActionsInput
having a defaulttype="submit"
(Thanks @CommanderStorm)
⬆️ Security Fixes
- GHSA-88j4-pcx8-q4q3 Fix: Changing Password did not close all logged in socket connections immediately
- GHSA-mj22-23ff-2hrr WebSocket server can only be connected from the same origin only (Similar to the CORS policy)
- Added an environment variable
UPTIME_KUMA_WS_ORIGIN_CHECK
:cors-like
(default) andbypass
Others
- Other small changes, code refactoring and comment/doc updates in this repo:
- #4158 (Thanks @Saibamen)
Please let me know if your username is missing, if your pull request has been merged in this version, or your commit has been included in one of the pull requests.
1.23.8
💇♀️ Improvements
- #4139 Default
Retries
values from1
to0
- #4132 #4133 Improved accessibility (Thanks @CommanderStorm)
- #4141 Added support for /snap/bin/chromium (Ubuntu's default Chromium path)
🐞 Bug Fixes
- #4123 Fixed an issue that Tailscale monitor could freeze Uptime Kuma, which is caused by the last Tailscale monitor security fix.
Dependencies
1.23.7
💇♀️ Improvements
- #4053 Show the original timeout message again and +10 seconds for abort signal
- #4054 Improved error message on abort signal timeout (Thanks @chakflying)
🐞 Bug Fixes
- #4084 Fixed a memory leak issue. Close the client postgresql connection after rejection. (Thanks @mvaled)
- #4088 Reverted "Restart running monitors if no heartbeat", which causes some issues from 1.23.4 to 1.23.6.
⬆️ Security Fixes
- f28dccf An XSS issue in the "Google Analytics ID" text field (Reported by @gtg2619) GHSA-v4v2-8h88-65qj
- #4095 Rewrite Tailscale ping using spawnSync (Reported by @vaadata-pascala) GHSA-hfxh-rjv7-2369
- b689733
getGameList
,testChrome
are no longer accessible without login
Others
- Other small changes, code refactoring and comment/doc updates in this repo: