NEWVectors or files. Pick a path.Start →

    Changelog

    Release Notes

    New capabilities and performance improvements across the Mixpeek platform. Every entry links to relevant documentation and examples.

    July 2026

    APIFeature

    Add defaults and examples to a retriever without cloning it

    `input_schema` was fully immutable on PATCH, so adding a `default` or `examples` to a field meant cloning the retriever. A clone changes the retriever id, which breaks dependent taxonomies and saved bookmarks. PATCH now accepts `input_schema` as a non-breaking evolution: adding a default, examples, a description, or a new optional field is allowed. Removing a field, changing a type, or making a field newly required is still rejected with a 422 that names the exact breaking change, so existing callers keep the same guarantee. Defaults are applied at execution, so adding one after the fact behaves the same as setting it at create.

    Retrievers
    APIFeature

    Taxonomy test-execute follows the id-first route convention

    Taxonomy test-execute was `POST /taxonomies/execute/{id}`, while every other execute in the API is id-first, like `POST /retrievers/{id}/execute`. Anyone who guessed the consistent shape got a 404 with nothing to explain it. `POST /taxonomies/{id}/execute` is now the canonical route and matches the `/{id}/versions` pattern already used here. The verb-first path still works and is marked deprecated in the OpenAPI spec, so nothing breaks.

    Taxonomies
    StudioFeature

    Exploring the sample data no longer dead-ends when you add your own

    The read-only sample namespace could become your active workspace just by opening it, and that selection persisted. On your next visit you were parked on demo data, and Create Bucket failed at submit with a raw message about SYSTEM-scoped namespaces. Three changes close it: Studio now boot-corrects a sample namespace you never explicitly chose back to your own `default`, Create Bucket is disabled with a tooltip explaining why while a read-only namespace is active, and the remaining read-only errors say you are on sample data and what to do instead. Choosing the sample deliberately from the namespace selector is still respected.

    Namespaces
    APIFeature

    The read-only namespace 403 now says what to do, and carries an error code

    Writing to the sample namespace returned `SYSTEM-scoped namespaces are read-only through public namespace-scoped APIs`, which left an SDK or agent caller with no next step. The response now names the namespace, confirms that reading and exploring are fine, and tells you to switch to or create your own namespace and pass it with `X-Namespace`. It also carries `error_code: system_namespace_read_only` and a `details.reason`, so tooling can branch on the code instead of matching prose.

    Namespaces
    StudioFeature

    Create Bucket points at the schema templates instead of asking for a property

    Step 2 of the Create Bucket wizard blocks until the object schema has at least one property, and the block read `Please define at least one property in the object schema`. One-click templates for Videos, Images, Documents, and Products sit directly above that step, and nothing connected the two. The message now reads `Add at least one field, or pick a template above (Videos, Images, Documents) to fill in a starting schema you can tweak`.

    Buckets
    APIPerformance

    Studio sessions no longer expire out from under an open tab

    Studio's monitoring and analytics polling uses a session key minted with a fixed 24 hour lifetime. The login session refreshed but the key's lifetime did not move with it, so an actively polling tab started returning `api_key_expired` once a day and re-minted a key that expired the same way. A session key used within 6 hours of expiring now has its expiry extended, so an actively used session stays valid. A session left idle for the full window still expires, so the security behaviour is unchanged.

    API keys
    PlatformFeature

    Solo signups get the welcome email, not a teammate invitation

    A founder signing up alone received `A teammate added you to` their own organization instead of the welcome email. The branch choosing between the two asked whether the organization had any users at all, and the signup flow records the founder before that check runs, so a sole founder looked like an existing team. The check now asks whether the organization has an active member other than the people being added, which does not depend on the order things are written.

    DocsFeature

    New docs: deduplication and collection lifecycle

    Two API areas that were thinly documented now have full pages. Deduplication explains the content-hash dedup strategies, `skip`, `replace`, and `force`, and when each applies. Collection lifecycle documents the hot, cold, and archived states and the evict, rehydrate, and archive operations, including the lifecycle states and the routes that move a collection between them.

    StudioFeature

    Trigger details, reorganized into tabs in Studio

    A trigger's detail view in Studio is now split into tabs: how it works, run history, and configuration, so you can see what a trigger does, when it last fired, and how it is set up without scrolling through one long page. The header also identifies the trigger by name.

    Triggers docs
    StudioFeature

    Resubmit a failed batch directly from Studio

    When a batch ends in a failed state, Studio now shows a Resubmit action so you can retry it in place, without rebuilding the request or dropping to the API. A failed ingestion or processing run is one click from another attempt.

    StudioFeature

    Studio renders multi-level taxonomy trees

    The taxonomy detail view in Studio flattened hierarchical taxonomies, so a taxonomy with real parent and child depth showed as a single level. It now renders the full nested tree, so multi-level taxonomies display with their actual structure.

    Taxonomies
    StudioFeature

    Lasso and box selection restored in the cluster explorer

    In the Studio cluster visualization, documents mode had lost its lasso and box selection tools, so you could not draw a region to grab a group of points. Both tools are back, so you can select clusters of documents directly on the plot again.

    Clusters
    StudioFeature

    Clearer, jargon-free error and status messages in Studio

    Several Studio messages that leaked internal jargon or gave misleading advice now read plainly. Execute errors on the public demos, and infrastructure-category batch failures, are rewritten in human terms instead of raw error classes. The stale-document modal now names the real situation, the result you opened is from an older version of the search, and drops the misleading suggestion to re-run the search.

    Retrievers
    APIPerformance

    Filters on nested metadata fields no longer return empty results

    An `eq`, `in`, or `contains` filter that targeted a metadata attribute, a field stored under a document's metadata rather than at the top level, could push down incorrectly and match nothing, so a retriever came back empty even when documents clearly satisfied the filter. Pushdown now recognizes the different metadata path forms, so equality, membership, and contains filters on metadata-resident attributes match the documents they should.

    APIFeature

    Clearer error when a document-similarity retriever gets a malformed input

    A retriever that searches from an existing document takes a `document_reference` input: a `collection_id` plus a `document_id`. Sending it in the wrong shape, for example a bare document id string where the object is expected, now returns a teaching error at the API edge that names the correct structure, instead of failing generically deeper in the pipeline. It is part of making the API forgiving: the error tells you exactly what to send.

    EngineFeature

    Clustering accepts more natural config shapes

    Two clustering config papercuts are now handled for you. If you pass an `attribute_config` without setting `cluster_type`, the type is inferred as `attribute` instead of erroring. And a `multi_feature_strategy` placed at the root of the request is lifted into the `vector_config` where it belongs, rather than being ignored. Both make the clustering API more forgiving of the shapes people and agents naturally send.

    Clusters
    APIPerformance

    Task status lookups no longer return a false not found

    Polling a task's status right after it was recorded could hit a cache miss and return a Task not found error even though the status had in fact been saved. The lookup now falls back to the durable record on a cache miss, so a freshly recorded task reports its real status instead of a spurious not found.

    API reference
    Vector StoreFeature

    "Find similar to this document" retrieval now works on Vector Store (MVS) namespaces

    A retriever that starts from an existing document (a "more like this" query) fetches that document's stored embedding and searches with it. On Vector Store (MVS) namespaces this was failing with a "document has no vectors" error even when the seed document was provably in the index and a normal search had just returned it. The seed-vector read now resolves the stored vector correctly on MVS, so document-to-document and recommendation-style retrievers behave on MVS-backed namespaces exactly as they do everywhere else.

    EngineFeature

    A failed clustering run no longer leaves behind a collection that looks ready to use

    Clustering creates its output collection up front, so a run that failed part way through used to leave a fully-formed, enabled collection behind, indistinguishable from a healthy result. Studio would then offer to compare runs on it, and the comparison came back empty. Failed runs are now reconciled: if the run produced nothing the collection is removed, and if it produced partial output the collection is disabled and marked failed, so you never open or compare a cluster result that never actually finished.

    Clusters
    DocsFeature

    Reverse video search, explained end to end: diagram, research page, and a new video

    Everything we have published on reverse video search now hangs together and starts from one page. New: a visual explainer of the idea most treatments skip, reverse image search matches a point in embedding space, while a clip embeds frame by frame into a trajectory through it, which is why a match survives re-encodes, crops, letterboxing, and re-cuts. A new research page walks through Meta's Video Similarity Challenge (VSC23), the benchmark that formalizes per-second descriptors, temporal alignment, and copy-trained descriptors, alongside a new 75-second explainer video. The overview page now opens with a direct answer to 'how does reverse video search work' and links every guide, comparison, and diagram in the set.