Commit Graph
704 Commits
Author SHA1 Message Date
Mike Cao 9d85fa557c Merge pull request #4495 from lukkshh/feat/georgian-translation
feat(i18n): add Georgian translation
2026-09-10 23:06:05 -07:00
Mike Cao f718b8a0cf Merge pull request #4523 from dongwonmoon/codex/visitor-count-order
perf(postgres): avoid sorting rows for visitor counts
2026-09-10 20:39:09 -07:00
Mike Cao 411bebe6b2 Merge pull request #4444 from flamelin/add-twd-currency
Add TWD (New Taiwan Dollar) to the revenue currency list
2026-09-10 20:27:43 -07:00
Mike Cao 5e021558f6 Merge pull request #4516 from Alphapin/add-isk-currency
Add ISK (Icelandic Króna) to revenue currencies
2026-09-10 20:25:23 -07:00
Mike Cao d72fc216ea Merge pull request #4520 from jamalkamaladdin/feat/az-locale
Add Azerbaijani language names and locale strings
2026-09-10 20:22:09 -07:00
Mike Cao 97ba22623c Add MCP tools for funnels, goals, segments, annotations, and performance metrics 2026-09-09 23:36:55 -07:00
Mike Cao 4fbaa5300d docs(api): deprecate report routes and document migration compatibility 2026-09-09 19:28:03 -07:00
Mike Cao 7c4406bad0 feat(api): publish feature contracts and migrate SDK and MCP 2026-09-09 19:23:21 -07:00
Mike Cao 007919b173 refactor(ui): use feature analytics and saved definition routes 2026-09-09 18:59:08 -07:00
Mike Cao e202b740a1 feat(api): split performance and UTM analytics datasets 2026-09-09 18:55:35 -07:00
Mike Cao 8c17658ac1 feat(api): add saved funnel and goal resources and stats 2026-09-09 18:54:05 -07:00
Mike Cao f28fb0108a feat(api): add website-scoped analytics GET routes 2026-09-09 18:53:22 -07:00
Mike Cao b185837063 Remove OAuth authorization flows and use API key authentication for MCP 2026-09-09 15:22:15 -07:00
dongwonmoon 1ee36860c4 Avoid sorting PostgreSQL visitor count queries 2026-09-08 15:35:49 +09:00
Jamal db644ae2b7 Add Azerbaijani language names and locale strings 2026-09-07 12:05:47 +04:00
Mike Cao 8b9ba7cce9 Merge pull request #4519 from umami-software/testing
Add API integration test suite with Postgres and ClickHouse coverage
2026-09-06 20:49:39 -07:00
Mike Cao e18769e8cf Add API integration test suite with Postgres and ClickHouse coverage 2026-09-06 16:42:53 -07:00
Mike Cao d7bf253363 Merge pull request #4515 from umami-software/feat/mcp-api-client
Add OAuth-protected MCP server with generated API client and OpenAPI contracts
2026-09-05 19:41:58 -07:00
Mike Cao 162487eca1 Remove rate limiting from OAuth registration and MCP endpoints
Drop the per-IP registration limiter and the per-user MCP limiter along
with the shared in-memory/Redis helper. Request throttling is an
infrastructure concern (reverse proxy, CDN) rather than something each
endpoint should reimplement.
2026-09-05 19:20:56 -07:00
Mike Cao d2b4aa174e Rate limit dynamic client registration per source address
Replace the process-wide registration counter used without Redis with a
shared per-key fixed-window limiter, so one requester can no longer
exhaust the registration budget for every other client on the process.
The in-memory fallback is bounded (expired windows are swept, then the
oldest keys are shed) so memory stays constant under key churn.

Also fixes checkMcpRateLimit inverting redis.rateLimit's result: it
resolves true once the counter reaches its threshold, so with Redis the
MCP endpoint was denying requests below the limit and allowing those
above it. Both call sites now share the same limiter and semantics.
2026-09-05 17:57:20 -07:00
Mike Cao 67449d76ef Harden OAuth metadata fetching and make token rotation transactional 2026-09-05 14:09:33 -07:00
Magnús Bergsson 2cfd5421eb Add ISK (Icelandic Króna) to revenue currencies 2026-09-05 15:05:51 +00:00
Mike Cao 65bf19e067 Add OAuth-protected MCP server with generated API client packages 2026-09-03 16:58:47 -07:00
Francis Cao 336fbcb3c5 Annotations workflow, UI/UX polish 2026-09-03 12:59:56 -07:00
Mike Cao f1c5b4f7bb Add account API key management 2026-09-01 21:50:07 -07:00
Mike Cao e1a4934038 Generate explicit OpenAPI contracts for API routes 2026-09-01 15:09:10 -07:00
lukkshh a59e198c06 feat(i18n): add Georgian translation 2026-08-28 14:50:29 +04:00
Mike Cao 64e4cc1c3b Add website annotations with chart markers and CRUD management 2026-08-27 00:09:03 -07:00
Francis Cao 0a77e50da1 Harden 2FA APi routes and UI when 2FA env var missing. Closes #4443. 2026-08-14 10:32:09 -07:00
NoiceHax a40b418038 fix(2fa): gate two-factor auth when the encryption key is missing
TWO_FACTOR_ENCRYPTION_KEY has no default, so instances upgrading to 3.3
without setting it hit an unhandled throw from encryptSecret: the setup
dialog only reported "Something went wrong", and where 2FA was required
the blocking dialog made the whole app unusable. The status endpoint now
reports 2FA as not required while the key is missing or invalid, and
setup initiation returns 503 with a two-factor-error-not-configured code
that the setup dialog renders as a readable message. Also documents the
variable in the README and the example compose file.

Closes #4443
2026-08-13 22:39:31 +05:30
Flame 474cbccd49 Add TWD (New Taiwan Dollar) to the revenue currency list 2026-08-12 23:45:33 +08:00
Francis Cao 3e729bc0e4 harden eventData delete. Add translations. Closes #4435. 2026-08-10 12:41:41 -07:00
Francis Cao 9e0034781a recorder.js CORS header implementation. Closes #4426 2026-08-04 15:34:36 -07:00
Francis Cao b3aec54bb3 Fix excludeBounce query, simplify bounce definition for SPA websites, query routing for performance, add tests 2026-07-30 09:34:35 -07:00
Mike Cao f84635b7a5 Merge pull request #4408 from maxiride/feature/bounce-calculation-v3
Feat: Improve bounce calculations with configurable threshold v3
2026-07-28 20:55:12 -07:00
Mike Cao b5d27620e7 Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-07-28 14:07:19 -07:00
Mike Cao adba113b04 Load subscription data from API before rendering replay and heatmap views 2026-07-28 14:07:09 -07:00
Mike Cao 00faf04d5c Merge pull request #4356 from Niki2k1/runtime-allowed-frame-urls
Resolve ALLOWED_FRAME_URLS from the runtime environment in Docker
2026-07-27 21:05:12 -07:00
Francis Cao 3136e3590a Revert "Move timezone selection to query parameters"
This reverts commit 4d7930060c.
2026-07-27 10:32:28 -07:00
Mike Cao 4d7930060c Move timezone selection to query parameters 2026-07-27 02:24:59 -07:00
Federico D'Eredità 82a5a12208 refactor(constants): simplify BOUNCE_THRESHOLD parsing
`parseInt(undefined, 10)` returns NaN and the `|| 1` fallback already
covers it, so the `|| '1'` default was redundant.
2026-07-26 18:49:59 +02:00
Federico D'Eredità 19fcde2c9c refactor(queries): replace hardcoded event types with constants
Replaced hardcoded `event_type` values with named constants from
`EVENT_TYPE`, as in #3614. Added the `BOUNCE_THRESHOLD` constant and
documented it in `docker-compose.yml`.
2026-07-26 18:49:58 +02:00
Mike Cao fb56a8f922 Merge branch 'dev' into fix/improve-ir-fa-support 2026-07-25 10:42:33 -07:00
Mike Cao 0714ebdbe3 Merge pull request #4397 from Sagittarius/codex/clickhouse-22-date-format
fix: support ClickHouse 22 date formats
2026-07-24 21:26:39 -07:00
Francis Cao f9850f02b3 add session delete feature to relational only. add test, share conditions, and permissions. Closes #2940 2026-07-24 15:47:01 -07:00
Mike Cao 0b31d3a274 Mark Hebrew locale as RTL 2026-07-24 14:36:54 -07:00
Mike Cao 65e810ec79 Add coverage for core utility behavior 2026-07-24 13:52:37 -07:00
Mike Cao b70eda56e6 Merge pull request #4394 from luca-seemann/fix/client-ip-header-xff-chain
Fix client IP resolution when CLIENT_IP_HEADER is set to x-forwarded-for
2026-07-23 15:27:51 -07:00
Mike Cao 33ac648d1f Merge pull request #4402 from sarmah-rup/fix/format-long-number-billions
fix: formatLongNumber shows billions ~1000x too large on metric tiles
2026-07-23 14:21:08 -07:00
Francis Cao 13d18c0880 Merge branch 'dev' of https://github.com/umami-software/umami into dev 2026-07-23 11:50:39 -07:00