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
- #3959 Added Uzbek language
- #4487 Added Irish language (Thanks @aindriu80)
- #4666 Changed Hebrew to be a RTL language (Thanks @msrl2000)
- #3263 #3847 #3694 #3684 #4135 #4527 #4565 #4436 #4813 #5103 #4814 #4791 #4816 #4320 #4200 #4363 #5046 (Thanks @mueller-ma @chakflying @CommanderStorm @Vista2003 @LeoThies @bertday @whiteonred @purplespider @cyril59310)
- #3659 #3891 #4386 #4394 #5071 #4794 #5072 #5232 (Unfortunately, there are too many contributors, GitHub is not allow me to tag everyone here)
Others
Other small changes, code refactoring and comment/doc updates in this repo.
- #3529 Added JSDoc to ESLint (Thanks @Computroniks)
- #3802 Add LABEL to Docker image (Thanks @mueller-ma)
- #3636 chore:Webhook custom documentation (Thanks @CommanderStorm)
- #4525 #4545 More readable Contribution guide (Thanks @CommanderStorm)
- #3688 #3702 #3722 #3624 #3781 #3808 #3835 #3826 #3825 #3856 #3858 #3887 #3910 #3945 #4042 #4104 #4169 #3893 #4289 #4300 #4324 #4240 #4490 #4509 #4532 #3182 #4557 #4621 #4679 #4668 #4636 #4729 #4750 #4694 #4803 #4819 #4820 #4877 #4878 #4950 #4968 #4988 #5029 #4815 #4818 #5056 #5053 #5068 #5074 #5149 #5159 #5162 #5164 #5180 #5183 #4451 #5233 #5259 #3725 #3862 #3350 #2830 #4574 #4592 #3623 #3413 #3703 (Thanks @0xflotus @BigBoot @CommanderStorm @CoolCu @DeJayDev @Gauvino @R-HNF @Saibamen @Zaid-maker @artshllk @check-bot @eltociear @jasonmic2000 @jmolnar-comparative @olebohmbach @prabhsharan36 @simshaun @spali @taisei-86 @tanmay4u02 @vanhoutenbos @vishalsabhaya @wdhdev)
Let me know if your name is missing in the list if your pull request had been merged in this version.
Special thanks to @chakflying and @CommanderStorm for their great contributions. 🎉