Skip to content

Tags: metabase/metabase

Tags

custom-viz-v2.0.0-canary.0

Toggle custom-viz-v2.0.0-canary.0's commit message
@metabase/custom-viz 2.0.0-canary.0

v0.63.2.7

Toggle v0.63.2.7's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🤖 backported "Cut per-request permission work: consolidate caches, pr…

…ime table checks, drop the visible-collection set" (#79235)

Cut per-request permission work: consolidate caches, prime table checks, drop the visible-collection set (#79197)

Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com>

v0.63.2.x

Toggle v0.63.2.x's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🤖 backported "Cut per-request permission work: consolidate caches, pr…

…ime table checks, drop the visible-collection set" (#79235)

Cut per-request permission work: consolidate caches, prime table checks, drop the visible-collection set (#79197)

Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com>

v0.63.x

Toggle v0.63.x's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🤖 backported "Cut per-request permission work: consolidate caches, pr…

…ime table checks, drop the visible-collection set" (#79235)

Cut per-request permission work: consolidate caches, prime table checks, drop the visible-collection set (#79197)

Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com>

latest-oss

Toggle latest-oss's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🤖 backported "Cut per-request permission work: consolidate caches, pr…

…ime table checks, drop the visible-collection set" (#79235)

Cut per-request permission work: consolidate caches, prime table checks, drop the visible-collection set (#79197)

Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com>

latest-ee

Toggle latest-ee's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🤖 backported "Cut per-request permission work: consolidate caches, pr…

…ime table checks, drop the visible-collection set" (#79235)

Cut per-request permission work: consolidate caches, prime table checks, drop the visible-collection set (#79197)

Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com>

v0.63.2.6

Toggle v0.63.2.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🤖 backported "Fix QB perf" (#79138)

Fix QB perf (#79132)

* Fix QB perf

* Forbid loading every field via GET /api/database/:id/metadata

Make skip_fields a required `true` on the FE request type so no caller can ask
for field-level metadata, which grows with every column in the database.

The two callers that needed fields now scope their fetch to a single table:
- Data Reference field pages fetch the table's own query metadata (which also
  pulls FK target tables and their fields)
- useAuditTable resolves the table from the plain database response, then loads
  /api/dataset/query_metadata for that table



* Withhold the audit table until its fields load

ConversationStatsPage renders charts straight from useAuditTable's table
without checking isLoading, so handing back a table built from the field-less
database metadata made it paint once and re-render when the ad-hoc query
metadata arrived, detaching the chart nodes mid-assertion.

Also make the segment field list spec's database mock honour skip_fields, so
unit tests can catch a caller that stops asking for fields.



* fix be

---------

Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

embedding-sdk-0.64.0-alpha.2

Toggle embedding-sdk-0.64.0-alpha.2's commit message
Tagging SDK version embedding-sdk-0.64.0-alpha.2

v0.63.2.5

Toggle v0.63.2.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🤖 backported "Skip fields when browsing tables of a schema-less datab…

…ase" (#79106)

Skip fields when browsing tables of a schema-less database (#79101)

TableBrowser only needs the table list, but GET /api/database/:id/metadata
returns every field of every table. Pass skip_fields=true so the response
stays proportional to the number of tables.

Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

v0.63.2.4

Toggle v0.63.2.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
🤖 backported "Fix quadratic :is_personal hydration that made GET /api…

…/collection ta…" (#79084)

Fix quadratic :is_personal hydration that made GET /api/collection ta… (#79073)

Fix quadratic :is_personal hydration that made GET /api/collection take ~23s

On an instance with 28k collections — 6k of them personal — `GET /api/collection`
took 23.5s while making only 13 DB calls. Nearly all of it was the `:is_personal`
batched hydration: for every collection it scanned the full set of personal
collection IDs, building a prefix string with `format` on each step, so a request
did ~20k x 6k = 125M `String/format` calls.

Personal Collections only ever live in the Root Collection, so a collection is
inside one exactly when the *first* ID of its location path is a personal
collection. Test that single ID against the set instead of scanning.

Measured on a seeded app DB matching the reported shape (28.6k collections, 6,011
personal roots, 13.6k live non-personal, 7.8k archived, depth to 13):

    GET /api/collection   11.2s -> 1.9s
    :is_personal hydrate   9.2s -> 75ms

The remaining hot spot is `:can_write` (~1.1-1.5s), which linearly scans the
user's permission set per collection — left for a separate change since it
touches the shared permission check.

Co-authored-by: Alexander Polyankin <alexander.polyankin@metabase.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>