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