Uptime Kuma

Developer Tools

A self-hosted monitoring tool.

Latest 2.5.0 · by Louis LamWebsitelouislam/uptime-kuma

Release activity

Release activity — 10 releases across 8 days since Feb 13, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Feb 13, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 19, 2026No releases on Apr 26, 20262 releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 20261 release on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on Apr 20, 2026No releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
TuesdayNo releases on Apr 21, 2026No releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026
WednesdayNo releases on Apr 22, 2026No releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 23, 2026No releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on Apr 24, 20261 release on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Apr 25, 2026No releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 20261 release on Aug 1, 2026

10 releases since Feb 13, 2026, busiest day 2

Changelog

2.5.0

Added 11
  • Add next-rootless docker tag
  • Allow unlimited interval rather than 24 days
  • Add voice call option to Plivo notification provider
  • Add Plivo SMS notification provider
  • Add Ooredoo (Maldives) SMS notification provider
  • Add WxPusher SPT (WxPusher simple push token) notification provider
Fixed 9
  • Correct 12 spelling errors across codebase
  • Fix RSS service status description
  • Widen stat_daily up/down columns from SMALLINT to unsigned INTEGER
  • Reduce rate-limit log spam when quota is healthy
  • Fix double // in badgeUrl breaking Badge generator functionality
  • Resolve Steam monitor hostnames
2.5.0
Uncategorized
🆕 New Features
  • #7645 Add next-rootless docker tag
  • #7607 feat: allow unlimited interval rather than 24 days
  • #7597 feat: add voice call option to Plivo notification provider (Thanks @sarveshpatil-plivo)
  • #7584 feat: add Plivo SMS notification provider (Thanks @sarveshpatil-plivo)
  • #7571 feat: add Ooredoo (Maldives) SMS notification provider (Thanks @islandboymv)
  • #7569 feat: Add WxPusher SPT (WxPusher simple push token) notification provider (Thanks @zjiecode)
  • #7546 feat: add Flowtriq DDoS detection notification provider (Thanks @jacob-masse @FlyingDove2493)
  • #7525 feat: add tracking support on status pages for rybbit analytics (Thanks @DanielOberlechner)
  • #7506 feat(notification): add additional headers option for SMTP (Thanks @dnagy)
  • #7214 feat: add NTP monitor type for network time protocol monitoring (Thanks @henricook)
  • #7114 feat(system-service): add PM2 picker and platform selection (Thanks @KraoESPfan1n)
💇‍♀️ Improvements
🐞 Bug Fixes
  • #7654 fix: correct 12 spelling errors across codebase (Thanks @jannikbx)
  • #7641 fix: RSS service status description is wrong
  • #7618 fix: widen stat_daily up/down columns from SMALLINT to unsigned INTEGER (Thanks @kushiemoon-dev)
  • #7599 fix: reduce rate-limit log spam when quota is healthy (Thanks @hexonal)
  • #7590 fix: double // in badgeUrl breaking Badge generator functionality (Thanks @jaimeagudo)
  • #7588 fix(domain-expiry): clarify unsupported RDAP warning (Thanks @arturict)
  • #7542 fix: resolve Steam monitor hostnames (Thanks @yuminn-k)
  • #7520 fix(discord): timezone with dayjs.utc() (Thanks @skkzsh)
  • #7516 fix: omit resolver port from DNS monitor service URL (Thanks @skkzsh)
  • #7515 fix(monitor): screenshot_delay not saved when editing browser engine monitor (Thanks @GhadiSaab)
  • #7472 fix: add timeout functionality to kafka (Thanks @jfgsilva)
  • #7465 fix: preserve saved protocol when loading Globalping ping monitor (Thanks @titojuanc)
  • #7460 fix: prevent tags dropdown from overflowing viewport (Thanks @Subrat-Dwivedi-22)
  • #7290 fix: allow mqtts:// in MQTT monitor (Thanks @Mrstragr @chennin)
⬆️ Security Fixes
  • #7538 #7349 chore: Update dependencies
  • #7508 chore: Set 14 days cooldown for npm update to mininize the supply-chain-attack
🦎 Translation Contributions
  • #7521 #7477 chore: Translations Update from Weblate (Thanks @aindriu80 @Aluisio @andibing @AnnAngela @AntonPalmqvist @arcanjobr @bill162 @ctih1 @cyril59310 @dodog @firedur @Goudarz @Gringit @helakostain @ivanbratovic @kamine81 @kiznick @Mr-Mmmc @MrEddX @OnyxOracle @PolarniMeda @ramazansancar @samsilveira @superpep)
Others
  • #7544 chore: change analytics_type to string type from enum
  • #7543 chore: add build "pr-test" workflow, add a message for testing to new pr.
  • #7541 chore: Add an ability to enable node.js inspector
  • #7535 chore: Remove meaningless entries from en.json
  • #7496 chore: Login form minor changes
View originalPermalink
How 2.5.0 went

2.4.0

Added 5
  • Add EgoSMS SMS provider for Uganda
  • Add incidents to RSS
  • Add VKTeams bot notification provider
  • Add optional token field for gamedig monitors
  • Add bearer token support to WebSocket upgrade monitor
Changed 1
  • Update link to documentation about API keys
Fixed 3
  • Handle npm 11.16.0
  • Fix NTLM monitor over plain HTTP fails with 400 Bad Request
  • Normalize hidden log level lookup
Security 1
  • Fix LiquidJS vulnerability to Remote Code Execution in notification templates
🆕 New Features
  • #7434 feat(notification): add EgoSMS SMS provider for Uganda (Thanks @kristianinc @cursoragent)
  • #7420 feat: Add incidents to RSS (Thanks @dj-tuxis)
  • #7365 feat: Add VKTeams bot notification provider (Thanks @aleshasam)
💇‍♀️ Improvements
  • #7433 feat: add optional token field for gamedig monitors (Thanks @aminoacidity)
  • #7415 feat: Adding bearer token (Thanks @aminoacidity @nyeswant)
  • #7431 fix: Add bearer token support to WebSocket upgrade monitor (Thanks @aminoacidity @nyeswant)
  • #7373 fix: update link to documentation about API keys (Thanks @eleanordoesntcode)
🐞 Bug Fixes
  • #7453 fix(docker-only): add Let's Encrypt Gen Y root certificates (Please ignore this change)
  • #7451 fix: handling npm 11.16.0
  • #7351 fix: NTLM monitor over plain HTTP fails with 400 Bad Request (Thanks @karzac)
⬆️ Security Fixes
  • (Admin only/Authenticated only) Fix: LiquidJS is Vulnerable to Remote Code Execution, a vulnerability from an upstream dependency. In Uptime Kuma, LiquidJS should be used in notification template. (https://github.com/advisories/GHSA-gf2q-c269-pqgc)
🦎 Translation Contributions
  • #7366 #7353 chore: Translations Update from Weblate (Thanks @aindriu80 @Aluisio @andibing @AnnAngela @Arden-Ahmad @bartoostveen @cyril59310 @dodog @Gringit @helakostain @ivanbratovic @Jumala9163 @Kf637 @master3395 @MrEddX @OnyxOracle @PolarniMeda @samsilveira @toniv90 @ttymayor @Virenbar @xuantan97)
Others
  • #7432 chore: Implement dev data directory handling for non-master branches
  • #7390 fix: normalize hidden log level lookup (Thanks @aqilaziz)
View originalPermalink
How 2.4.0 went

2.3.2

Fixed 1
  • Revert back from multiple connection to single connection for SQLite by default
🐞 Bug Fixes
  • #7346 fix: Revert back from multiple connection to single connection for SQLite by default
View originalPermalink
How 2.3.2 went

2.3.1

Fixed 2
  • Add busy_timeout to sqlite to avoid error SQLITE_BUSY: database is locked
  • Use multi-arch Node base in push image Dockerfile
🐞 Bug Fixes
  • #7307 fix: Add busy_timeout to sqlite to avoid error SQLITE_BUSY: database is locked (Thanks @wagnerand)
Others
  • #7340 chore: Update dependencies
  • #7345 chore: update to 2.3.1
  • #7344 fix(push): use multi-arch Node base in push image Dockerfile (Thanks @herwinz)
View originalPermalink
How 2.3.1 went

2.3.0

Added 8
  • Add UPTIME_KUMA_SQLITE_SINGLE_CONNECTION environment variable to avoid SQLite locking issues on Raspberry Pi
  • Add websocket authentication support
  • Add custom message template support for Evolution notification provider
  • Add Telnyx messaging notification provider
  • Add VK notification provider
  • Add MAX messenger notification provider
  • Add OracleDB monitor
  • Add collapsible groups to status page
Changed 2
  • Add helptext that RTT for the ping monitor is not available on Linux
  • Update Home Assistant notification help text for HA 2024 Services→Actions rename
Fixed 8
  • Fix notification check for monitorJSON in Stackfield provider
  • Fix SSL handling in setup database temp server
  • Fix correct handling of missing time buckets in uptime calculations
  • Fix applyExisting not being saved to database in notifications
  • Fix domain expiry not updating properly
  • Fix propagation of create errors
  • Fix monitor graph gaps for sub-millisecond TCP pings
  • Fix prometheus metrics having duplicate series for a single monitor with tags
Removed 1
  • Remove sorting feature from status pages due to bad performance
⚠️ Breaking changes
  • #7194 fix: Revert "add sorting to status pages"
    • No more sorting feature in status pages.
    • Due to bad performance.
  • #7312 fix(database): add UPTIME_KUMA_SQLITE_SINGLE_CONNECTION
    • For Raspberry Pi users, you may have to set it to true to avoid SQLite locking issues.
    • Mainly affected Raspberry Pi users only, you can ignore it if you are not using devices like Raspberry Pi.
🆕 New Features
  • #7304 feat: websocket improve to fix issue #7268 including support authentication (Thanks @sofia-fernandez-six)
  • #7207 feat(notification): add custom message template support for Evolution provider (Thanks @kbrianps)
  • #7201 feat: add Telnyx messaging provider (Thanks @LuvForAirplanes)
  • #7182 feat: Add VK notification provider (Thanks @FunNikita)
  • #7160 feat: Add MAX messenger notification provider (Thanks @Redleks)
  • #7156 feat: add OracleDB monitor (Thanks @sitiom)
  • #7154 feat: add collapsible groups to status page (Thanks @marco-carvalho)
💇‍♀️ Improvements
  • #7303 feat(ui): add a helptext that RTT for the ping monitor is not avaliable on linux (Thanks @stchigel)
  • #7300 feat(ux): changed warning msg (Thanks @hemanth5544)
  • #7128 fix: Update Home Assistant notification help text for HA 2024 Services→Actions rename (Thanks @tr4nt0r)
🐞 Bug Fixes
  • #7248 fix(notification): check for monitorJSON in Stackfield provider (Thanks @jlbrt)
  • #7166 fix: Handle SSL in setup database temp server
  • #7235 fix(uptime): ensure correct handling of missing time buckets in uptime calculations (Thanks @adrianceding)
  • #7221 fix(notification): ensure applyExisting is not saved to database
  • #7198 fix: Domain expiry doesn't seem to update #7189 (Thanks @shanto)
  • #7155 fix: propagate create errors (Thanks @otbutz)
  • #7159 fix: monitor graph gaps for sub-millisecond TCP pings (Thanks @0xRozier)
  • #7125 fix: prometheus metrics have two series for a single monitor when that monitor has tags (Thanks @nicjansma)
🦎 Translation Contributions
  • #7108 feat: Add English (United Kingdom) language support (Thanks @andibing)
  • #7292 #7197 #7132 chore: Translations Update from Weblate (Thanks @aindriu80 @Ale1x @Aluisio @andibing @AnnAngela @CammarataLudovico @cyril59310 @dodog @efenow @fcordeiro @firedur @FunNikita @Gringit @Hamstio1 @helakostain @ivanbratovic @kevinheyer-dev @mlopezcoria @Mo7amm1d @MrEddX @numarkpro @Redleks @rodis120 @samsilveira @thisisjaymehta @ttymayor @Virenbar @wibe01204 @Zeromskas)
Others
  • #7317 #7195 #7133 chore: Update dependencies
  • #7204 chore: Add agents.md - anti AI slop
  • #7146 chore: Add monthly workflow to build push Docker image
View originalPermalink
How 2.3.0 went

2.2.1

Added 2
  • Add fluxer notification provider
  • Set process.title to uptime-kuma
Fixed 4
  • Fix isParentActive return type to boolean
  • Fix fluxer input styling and make discord input hidden
  • Remove uptime ratio and avg. response time from prometheus metrics
  • Revert removal of @aws-sdk and @azure packages
Security 1
  • Fix Server-side Template Injection (SSTI) in Notification Templates that allows arbitrary file read via upstream dependency LiquidJS
🆕 New Features
  • #7109 feat: fluxer notification provider (Thanks @letruxux)
  • #7096 feat: set process.title to uptime-kuma (Thanks @Hill-98)
🐞 Bug Fixes
  • #7121 fix: isParentActive return type to boolean (Thanks @terisikk)
  • #7110 fix(ui): fix fluxer input styling; make discord input hidden (Thanks @letruxux)
  • #6915 fix: removal of uptime ratio and avg. response time from prometheus metrics (Thanks @tr4nt0r)
  • #7101 fix: revert: remove @aws-sdk, @azure packages
⬆️ Security Fixes

GHSA-v832-4r73-wx5j - Another Server-side Template Injection (SSTI) in Notification Templates Allows Arbitrary File Read (fixed in upstream dependency LiquidJS, also see: https://github.com/harttle/liquidjs/security/advisories/GHSA-wmfp-5q7x-987x)

🦎 Translation Contributions
  • #7119 #7099 chore: Translations Update from Weblate (Thanks @aindriu80 @Aluisio @cyril59310 @dodog @fabianovich @krmu @letruxux @maxisimonazzi @MrEddX)
Others
  • #7120 #7100 chore: Update dependencies
View originalPermalink
How 2.2.1 went

2.2.0

Added 4
  • Allow SOCKS proxy for notifications
  • Add WhatsApp (360messenger) notification provider
  • Allow templating in the Signal notification provider
  • Add structured logging (JSON)
Changed 1
  • Improve SQLite multiple connections
Fixed 13
  • Uptime Kuma is not able to start on older version of Node.js 20 (~20.17.0)
  • Monitor list cannot display monitor name in full width
  • Monitor list tag list does not update
  • Globalping retry creating the measurement on status 500
  • Globalping show error message when using multiple locations
  • Domain validation not allowing for PTR DNS records
Security 1
  • Fix missing authorization check on Ping Badge endpoint that leaks ping times of monitors
🆕 New Features
  • #7088 feat(proxy): allow socks proxy for the notifications (Thanks @ASLanin)
  • #7046 feat: add whatsApp (360messenger) notification provider (Thanks @WaMessenger)
  • #6989 feat: allow templating in the Signal notificaiton provider (Thanks @karthikeya-333)
💇‍♀️ Improvements
  • #6979 refactor: improve SQLite multiple connections
🐞 Bug Fixes
  • #7019 fix: Uptime Kuma is not able to start on older version of Node.js 20 (~20.17.0)
  • #7076 fix(monitor-list): cannot display monitor name in full width
  • #7069 fix(monitor-list): tag list do not update
  • #7056 fix(globalping): retry creating the measurement on status 500 (Thanks @radulucut)
  • #7055 fix(globalping): show error message when using multiple locations (Thanks @radulucut)
  • #7048 fix: Fix domain validation not allowing for PTR DNS records (Thanks @sgdc3)
  • #7045 fix: Remove forced DOWN status in group monitor (Thanks @MayMeow)
  • #7043 fix: Setting Status Page Analytics Type to "None" fails with SQLite constraint violation
  • #7011 fix(edit-monitor): several issues in edit page
  • #7010 fix(edit-monitor): url validation is incorrect
  • #6999 fix: show actual bind address in startup logs (Thanks @mixelburg)
  • #6994 fix: preserve Domain Name Expiry Notification setting when editing monitor (Thanks @RohitDarekar816)
  • #6984 fix: show certificate expiry on status page for TCP monitors (Thanks @mixelburg)
⬆️ Security Fixes
  • GHSA-c7hf-c5p5-5g6h Missing Authorization Check on Ping Badge Endpoint Leaks Ping times of montors (Thanks @kuranikaran)
🦎 Translation Contributions
  • #7072 #7007 chore: Translations Update from Weblate (Thanks @2000Arion @abcsnoob @aindriu80 @Aluisio @AnnAngela @AntonPalmqvist @BelenCaSa @cyril59310 @dodog @florian-berger @helakostain @ivanbratovic @kiznick @LovesAsuna @mariogarridopt @MrDariusz @MrEddX @robertcoroianu @Virenbar)
Others
  • #7015 chore: follow up #7013
  • #7013 chore: add PR description template check workflow
  • #5179 feat: structured logging (JSON) (Thanks @SapphicCode)
  • #7092 chore: update to 2.2.0
  • #7071 #6991 chore: Update dependencies
  • #7032 chore: remove @aws-sdk, @azure packages
  • #7077 chore: generate package-lock.json from scratch to ensure accuracy
  • #7058 chore: improve changelog generator
View originalPermalink
How 2.2.0 went

2.1.3

🐞 Bug Fixes
  • #6981 fix: rdap data is not actually cached
View originalPermalink
How 2.1.3 went

2.1.2

Added 3
  • Notification provider Teltonika RUTxxx SMS gateway
  • Add tags to teams notifications
  • Add DNS support via Globalping
Changed 1
  • Improve dynamic RDAP DNS data
Fixed 5
  • Clear 2.1.0 frontend PWA cache
  • Add helptext about usage to expiry checkboxes
  • Handle undefined monitor name in PagerDuty notification summary
  • Fix typo in DNS monitor error message (specifiy → specify)
  • Clearing heartbeats on paused monitors leaves them paused
🆕 New Features
  • #6952 feat: Notification provider Teltonika RUTxxx SMS gateway (Thanks @unixerius)
  • #6939 feat: add tags to teams notifications (Thanks @thelfensdrfer)
  • #6850 feat: add DNS support via Globalping (Thanks @radulucut)
💇‍♀️ Improvements
  • #6971 refactor: improve dynamic RDAP DNS data
🐞 Bug Fixes
  • #6933 fix: Clear 2.1.0 frontend PWA cache
  • #6978 fix: Add helptext about usage to expiry checkboxes
  • #6977 fix: handle undefined monitor name in PagerDuty notification summary (Thanks @mixelburg)
  • #6960 fix: typo in DNS monitor error message (specifiy → specify) (Thanks @redbasecap-buiss)
  • #6897 fix: clearing heartbeats on paused monitors leaves them paused (Thanks @bruce691)
🦎 Translation Contributions
  • #6945 chore: Translations Update from Weblate (Thanks @2000Arion @Aluisio @cyril59310 @DJEDIVER @dodog @florian-berger @hernikplays @Kf637 @MrEddX @thelfensdrfer @VeerGosai)
Others
  • #6969 chore: Add automated npm dependency update workflow
  • #6968 chore: Update dependencies
  • #6963 chore: Update pull request template with AI usage warning
  • #6951 chore: Update PR template with AI usage warning
  • #6948 fix: Restrict scheduled workflows to upstream repository
  • #6970 fix: npm dependency update GitHub workflow
View originalPermalink
How 2.1.2 went

2.1.1

Added 2
  • Add customizable matrix notifications
  • Add Group Name column to the Monitors table on dashboard page
Fixed 4
  • Fix Gamedig unable to resolve SRV records by removing redundant DNS resolution in GameDigMonitorType
  • Fix discord notification timestamp and update notification message
  • Add scroll bar to tags dropdown on dashboard
  • Only enable domain expiry notification when TLD has RDAP support
Removed 1
  • Remove vite-plugin-pwa to avoid this plugin caching files unexpectedly
💇‍♀️ Improvements
  • #6899 feat: add customizable matrix notifications (Thanks @namatery)
  • #6868 feat: Add Group Name column to the Monitors table on dashboard page (Thanks @evolvomind)
🐞 Bug Fixes
  • #6923 fix: Gamedig unable to resolve SRV records by removing redundant DNS resolution in GameDigMonitorType
  • #6907 fix: Remove vite-plugin-pwa, avoid this plugin caches files unexpectedly
  • #6894 fix: discord notification timestamp & update notification message (Thanks @ryangurn)
  • #6887 fix(dashboard): add scroll bar to tags dropdown (Thanks @smartcoder0777)
  • #6884 fix(domain-expiry): only enable domain expiry notification when TLD has RDAP support (Thanks @BitWise-0x)
🦎 Translation Contributions
  • #6878 #6853 chore: Translations Update from Weblate (Thanks @2000Arion @alihatamitajik @Aluisio @AnnAngela @cyril59310 @dodog @florian-berger @jochemp264 @JWeinelt @Kf637 @michi-onl @MrEddX @Saibamen @simonghpub @tvpetersen)
Others
  • Other small changes, code refactoring and comment/doc updates in this repo:
  • #6927 chore: Update dependencies
  • #6877 chore: npm update
  • #6925 chore: Update security policy and reporting guidelines
  • #6890 chore(generate-changelog): Fix Translation PRs did not merge together
  • #6875 chore: Update final release workflow
  • #6879 chore: update to 2.1.0
View originalPermalink
How 2.1.1 went
View all

Discussion