Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
df5cfc1
docs(oidc): document fallback claim lists for acl.oidc.sub.claim and …
glasstiger Oct 8, 2026
4a5cba0
docs(oidc): version-gate claim lists and complete the Entra app-only …
glasstiger Oct 8, 2026
fc79dd6
docs(oidc): harden the claim list and Entra app-only guidance
glasstiger Oct 8, 2026
583f26c
docs(oidc): correct app-only access and table creation, restructure t…
glasstiger Oct 8, 2026
61ad2e0
docs(clients): link the OIDC non-interactive and Entra ID sections
glasstiger Oct 8, 2026
fd4f5a3
docs(oidc): address review findings on claims, token validation and t…
glasstiger Oct 8, 2026
368e659
docs(oidc): move the identity provider guides to their own pages
glasstiger Oct 9, 2026
88059ea
docs(oidc): correct rejection, session and ingestion behaviour, gate …
glasstiger Oct 9, 2026
7f97583
docs(oidc): fix review findings on principals, token audience and tok…
glasstiger Oct 9, 2026
9fa710e
docs(oidc): fix token rotation with sf_dir, expiry wording and missin…
glasstiger Oct 9, 2026
3b4389a
docs(oidc): fix sf_dir token rotation, mode choice, startup and title…
glasstiger Oct 9, 2026
62a29bf
docs(oidc): move the OIDC pages under security/oidc/ and document exp…
glasstiger Oct 9, 2026
d2bc437
docs(oidc): fix review findings on token rotation, refresh tokens, PG…
glasstiger Oct 9, 2026
d9cbb11
Merge branch 'main' into feat/qwp-entra-token-provider
glasstiger Oct 13, 2026
be660d1
docs(oidc): document issuer validation, session credentials, ID token…
glasstiger Oct 14, 2026
73b8f5a
docs(oidc): fix review findings on log lines, Web Console renewal, up…
glasstiger Oct 15, 2026
ad98bb9
dummy commit to trigger PR sync
glasstiger Oct 15, 2026
72c623c
docs(oidc): fix token recovery and client reference inconsistencies
glasstiger Oct 15, 2026
872f760
docs(oidc): fix review findings and Java client version selection
glasstiger Oct 15, 2026
6e28790
Merge branch 'main' into feat/qwp-entra-token-provider
glasstiger Oct 15, 2026
a806423
docs(clients): align authentication recovery and startup retries
glasstiger Oct 15, 2026
bc6737e
docs: clarify QWP acknowledgements and authentication retries
glasstiger Oct 15, 2026
4e994a3
Merge remote-tracking branch 'origin/main' into feat/qwp-entra-token-…
glasstiger Oct 15, 2026
c60a6e6
docs: address OIDC and Java client review findings
glasstiger Oct 15, 2026
76062c0
docs: clarify OIDC cache checks and make PingFederate ROPC opt-in
glasstiger Oct 15, 2026
9a71cf2
docs: clarify OIDC refresh requirements and verified PGWire TLS
glasstiger Oct 15, 2026
77c98d6
docs: clarify OIDC setup and JWKS refresh behavior
glasstiger Oct 15, 2026
853b8c9
docs(qwp): clarify all-replica startup retry behavior
glasstiger Oct 15, 2026
d6dc949
Merge remote-tracking branch 'origin/main' into feat/qwp-entra-token-…
glasstiger Oct 15, 2026
d960544
fix: correct OIDC renewal guidance and raw Markdown tab hierarchy
glasstiger Oct 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ docker-compose up

## Contributing

You'll need to sign a quick CLA.
You will need to sign a quick CLA.

Pretty standard, [check it out](https://cla-assistant.io/questdb/documentation).

Expand Down
36 changes: 36 additions & 0 deletions documentation/changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,53 @@ This page tracks significant updates to the QuestDB documentation.

### New

- [User and group claims](/docs/security/oidc/#user-and-group-claims) - Fallback claim lists of QuestDB Enterprise 4.0.2, how QuestDB picks a claim, and the startup checks
- [Token validation](/docs/security/oidc/#token-validation) - What QuestDB checks in a token, the expected issuer, and when QuestDB stops accepting an expired token
- [Web Console token renewal](/docs/security/oidc/#web-console-token-renewal) - When the Web Console renews its tokens, the ID-token requirement in token mode, how transient renewal failures pause queries without logging users out, and which errors end the session
- [Troubleshooting OIDC logins](/docs/security/oidc/#troubleshooting-oidc-logins) - The log lines of rejected logins and what they mean
- [Upgrade to 4.0.2](/docs/security/oidc/#upgrade-to-402) - How earlier versions differ, and what to check when you upgrade
- [Where QuestDB reads the user information](/docs/security/oidc/#where-questdb-reads-the-user-information) - The User Info endpoint compared with reading the claims from the token
- [Group changes, sessions, and revoking access](/docs/security/oidc/#group-changes-sessions-and-revoking-access) - When a change in the identity provider takes effect, and how to cut off access
- [Tables created by external users](/docs/security/oidc/#tables-created-by-external-users) - Create tables in advance, or with `OWNED BY` and a QuestDB group of the user
- [Token lifetime](/docs/security/oidc/#token-lifetime) - Switch a long-running client to a new token without losing rows
- [Rotating tokens](/docs/connect/clients/java/#rotating-tokens) - The Java client requests and renews bearer tokens with `token_provider=azure` or a `RefreshingTokenProvider`
- [Connection health](/docs/connect/clients/java/#connection-health) - The Java client reports whether it reaches the server, and its last failure
- [Databento connector](/docs/integrations/other/databento/) - The Databento page now covers the QuestDB Databento connector, a standalone process that streams Databento Live feeds and runs Historical backfills into QuestDB over QWP, replacing the earlier Python client walkthrough. Covers TOML configuration with multiple datasets per process, the default table and column mapping for each schema, `TIMESTAMP_NS` timestamps and order book arrays, checkpointed at-least-once recovery with a backfill procedure for expired replay, and Prometheus metrics. The page moves to the new Connectors group in the Connect section
- [ALTER LIVE VIEW RESUME WAL](/docs/query/sql/alter-live-view-resume-wal/) - New reference page for resuming a live view whose own WAL was suspended after an error, and how to find suspended live views through `wal_tables()`

### Reference

- [`acl.oidc.sub.claim`](/docs/configuration/oidc/#acloidcsubclaim) and [`acl.oidc.groups.claim`](/docs/configuration/oidc/#acloidcgroupsclaim) - Documented fallback claim lists and their startup validation
- [`acl.oidc.issuer`](/docs/configuration/oidc/#acloidcissuer) and [`acl.oidc.issuer.validation.enabled`](/docs/configuration/oidc/#acloidcissuervalidationenabled) - New settings for the expected issuer of a token
- [`acl.oidc.pkce.required`](/docs/configuration/oidc/#acloidcpkcerequired) - Corrected the name of the property, previously documented as `acl.oidc.pkce.enabled`
- [`acl.oidc.state.required`](/docs/configuration/oidc/#acloidcstaterequired) and [`acl.oidc.public.keys.expiry`](/docs/configuration/oidc/#acloidcpublickeysexpiry) - Documented both properties, including JWKS refresh timing, outage delays, and retained signing keys
- [`acl.oidc.cache.ttl`](/docs/configuration/oidc/#acloidccachettl) - Documented what QuestDB caches, distinguished provider checks from JWT revalidation in token mode, and explained how long an HTTP session reuses a password check
- [`http.session.timeout`](/docs/configuration/http-server/#httpsessiontimeout) - Documented how long an idle HTTP session stays valid
- [Token providers](/docs/connect/clients/connect-string/#token-providers) - The `token_provider` and `azure_*` keys of the Java client
- Added the dedicated live view refresh worker pool settings [`live.view.refresh.worker.count`](/docs/configuration/live-views/#liveviewrefreshworkercount), `.affinity`, `.haltOnError`, `.nap.threshold`, `.sleep.threshold`, `.sleep.timeout`, and `.yield.threshold`, plus [`cairo.live.view.checkpoint.purge.interval`](/docs/configuration/live-views/#cairoliveviewcheckpointpurgeinterval). Live views run on their own refresh pool, not the materialized view pool as previously documented
- Added the `checkpoint_seal_failures` column to [`live_views()`](/docs/query/functions/meta/#live_views) and corrected the `lag_seqtxn`, `last_processed_seqtxn`, `lag_micros`, and `writer_stall_micros` descriptions
- Corrected the defaults of [`mat.view.refresh.worker.count`](/docs/configuration/materialized-views/#matviewrefreshworkercount) and [`wal.apply.worker.count`](/docs/configuration/wal/#walapplyworkercount), and documented that `mat.view.refresh.worker.count=0` disables materialized view refresh

### Guides

- [Microsoft Entra ID](/docs/security/oidc/entra-id/) - Moved to its own page, and added app-only tokens for Azure managed identities and service principals
- [PingFederate](/docs/security/oidc/pingfederate/) - Moved to its own page, added the QuestDB configuration with ROPC disabled unless explicitly enabled, and corrected the directory that PingFederate reads users from

### Updated

- [OpenID Connect (OIDC)](/docs/security/oidc/) - Split into an overview and provider guides, with a minimal configuration and an upgrade warning for QuestDB Enterprise 4.0.2
- [Mapping user permissions](/docs/security/oidc/#mapping-user-permissions) - Corrected that a login without groups is rejected, and added the endpoint permission of each interface
- [Non-interactive clients](/docs/security/oidc/#non-interactive-clients) - Which token each client sends, with client credentials and password grant examples over QWP
- [OIDC for PGWire](/docs/security/oidc/#oidc-for-the-pgwire-endpoint) - Require certificate and hostname verification in the bearer-token example, with a trusted CA certificate bundle
- [Managing authentication](/docs/security/rbac/#managing-authentication) - HTTP sessions of QuestDB Enterprise 4.0.2 end with the credential that opened them
- [Java client](/docs/connect/clients/java/#ingestion-errors) - Corrected the error policies, and that the `QuestDB` handle accepts an error handler
- [Java token providers](/docs/connect/clients/java/#rotating-tokens) - Clarified certificate credential configuration, query authentication exceptions, token-wait budgets, which `401` responses trigger refresh, and which connection-string settings must be redacted before logging
- [Client failover](/docs/high-availability/client-failover/concepts/#authentication-is-cluster-wide) - Distinguished authentication rejection during startup, established Java ingestion, query reconnects, and orphan recovery
- [Connection strings](/docs/connect/clients/connect-string/#reconnect-keys) - Corrected pooled initial-retry settings and clarified when lazy pools begin connecting in Java, C/C++, Python, and Rust
- [Python](/docs/connect/clients/python/#the-pool), [C/C++](/docs/connect/clients/c-and-cpp/#connecting), and [Rust](/docs/connect/clients/rust/#connecting) clients - Corrected that the pool connects when it is created, unless `lazy_connect=on`
- [Python client](/docs/connect/clients/python/#flushing-and-acknowledgements) - Corrected that a terminal server rejection raises from `flush(wait=True)`
- [Client token rotation](/docs/security/oidc/#token-lifetime) - Corrected how the Python, C/C++, .NET, Go, and Rust clients switch to a new token
- [`CREATE VIEW`](/docs/query/sql/create-view/#owned-by-enterprise), [`CREATE LIVE VIEW`](/docs/query/sql/create-live-view/#owned-by-clause), and [`CREATE MATERIALIZED VIEW`](/docs/query/sql/create-mat-view/#owned-by-clause) - Documented the owner that an external user must name
- [Live views](/docs/concepts/live-views/) - Corrected the [supported window functions](/docs/concepts/live-views/#supported-window-functions) to match QuestDB 10.0.1: the statistical functions, EMA, and VWEMA run only in anchored windows, `ksum` does not support `RANGE` frames, `lag` needs a bounded frame or an anchor, and `VARCHAR`, `UUID`, `LONG256`, `DECIMAL`, `BINARY`, and array partition keys are rejected. Added a [rolling standard deviation](/docs/concepts/live-views/#rolling-standard-deviation) recipe for Bollinger bands, rewrote [Freshness](/docs/concepts/live-views/#freshness) to reflect that interval-filtered reads, aggregates, and `ASOF JOIN` see unflushed rows while `LATEST ON` does not, and added the `UPDATE` and `REBASE WAL` invalidation triggers, base WAL retention, and replica freshness. Documented that an out-of-order base row rewrites view rows already emitted, that `view_status` stays `active` while the view's own WAL is suspended, and what to change in `SHOW CREATE LIVE VIEW` output before replaying it
- [CREATE LIVE VIEW](/docs/query/sql/create-live-view/) - Fixed the `OWNED BY` example, which requires a parenthesized query, documented the designated-timestamp projection requirement and the remaining anchored-window rules, and expanded the error reference with verified messages. Added a grammar for anchored windows and [examples](/docs/query/sql/create-live-view/#examples) of a `RANGE` frame with a `WHERE` filter and an anchored session window
- [Live view configuration](/docs/configuration/live-views/) - Corrected the descriptions of the in-memory buffer growth budget, partition compaction threshold, flush retry budgets, and refresh memory limit
Expand Down
13 changes: 13 additions & 0 deletions documentation/configuration/http-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,19 @@ occurs. Changing the default value is strongly discouraged.
Password for HTTP Basic Authentication in QuestDB Open Source. QuestDB
Enterprise supports more advanced authentication via RBAC.

### http.session.timeout

- **Default**: `30m`
- **Reloadable**: no

How long an HTTP session stays valid without a request. A client opens a
session, the `qdb_session` cookie, by sending `session=true`, as the Web
Console does at login. Every request that QuestDB authorizes with the session
restarts the timer, so a session in use does not expire. In QuestDB
Enterprise, a session also ends when the credential that opened it is
revoked, as described in
[Managing authentication](/docs/security/rbac/#managing-authentication).

### http.user

- **Default**: N/A
Expand Down
Loading
Loading