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.

    September 2026

    APIFeature

    Renaming or deleting a namespace takes effect on every request within about a second

    PUT /v1/namespaces/{id} returned the new name and never saved it, so the next read from another server came back with the old one. PUT now saves the rename through the same path as PATCH, including the 409 when the name is taken. Renames and deletes also reach every API server within about a second: the old name stops resolving, and a deleted namespace answers 404 right away. Before, both could keep working for up to 60 seconds.

    APIFeature

    An invalid collection PATCH is refused before it is saved

    A PATCH that produced an invalid collection, for example an alert application with empty input_mappings, was written first and checked after. Every later PATCH to that collection then failed with the same 400, even one that only changed the description. The update is now validated before anything is written, and the error says nothing was written. A collection already stuck this way can be repaired with a valid PATCH. Collection routes also accept a bucket id now and resolve it to that bucket's collection, as the data model page describes.

    APIFeature

    Buckets can be deleted again

    Every bucket delete returned 409, naming as a dependent the collection Mixpeek creates for each bucket's objects, which the caller never created. That collection is now deleted together with its bucket. A collection you created from the bucket still blocks the delete, as before.

    StudioFeature

    Message our founder from the Studio assistant

    The assistant panel on every Studio page has a Message Ethan button. Type a note and it opens a support ticket that is also emailed to Ethan, with your account and the page you were on attached so you don't have to explain where you are. There is a direct email link in the same panel.

    Open Studio
    StudioFeature

    You can delete your account without choosing a plan first

    A user who had not picked a plan was sent to plan selection on every settings page, including the one that deletes the account. The delete page is now reachable without a plan, and the plan page links to it. Deleting an account now also removes the login and the organization with its data. Before, it only removed you from the organization.

    Open Studio
    APIFeature

    An export can carry where each row came from

    POST /collections/{id}/export takes include_lineage. Set it and every row gains three columns: the chain of steps from the source object to the document, the source content hash, and the document's creation time. The columns are added after your select_fields, since you asked for them. Found while testing this: CSV exports computed a header row and never wrote it, so a reader took the first document's values as column names. The first chunk now writes the header.

    APIFeature

    Cloning a collection copies the fields you did not override

    Clone rebuilt the new collection from eight fields and dropped the rest, so cloning a retriever-transform collection was refused outright: the source has no feature extractor, clone passed no transform either, and the validator blamed the caller for a field clone was supposed to copy. Clone now also carries the retriever transform, schedule, alert and cluster applications, embedding task, input schema and tiering rules. metadata is patchable too, which the endpoint's own description had already promised.

    APIFeature

    Copying a working collection's extractor parameters stops failing one key at a time

    A collection's stored parameters can carry keys that belong to a different version of the same extractor. Pasting them into a new collection returned 422 for one key, then 422 for the next, four round trips to strip a config nobody typed by hand. The create path now accepts any parameter valid for that extractor name and reports every unknown key in a single response.

    APIFeature

    sync_concurrency is a real field that round-trips

    A task docstring documented sync_concurrency as a per-sync setting and the field was declared nowhere. PATCH on a sync configuration returned 200 and read back null, and passing it to trigger was ignored the same way, because unknown body fields are dropped silently. Every sync fell through to a worker-wide default that no tenant could change. It is now declared on the configuration, create and update models, and it round-trips.

    APIFeature

    A trigger tells you when its poller stopped reaching it

    Five active cron triggers once sat with their next run time frozen for three days while GET returned active with a valid schedule the whole time, so a canary polling the API saw silence rather than an error. Triggers now carry is_overdue, computed from the same condition the poller uses to decide a run is due. It serializes everywhere the trigger does, including the list response.

    APIFeature

    A batch marked completed with errors now always has something to point at

    A batch could read COMPLETED_WITH_ERRORS while every counted error field read zero, and the status could never be cleared because the state machine forbids walking it back. A caller got an error verdict with nothing to fix, permanently. The read path now corrects a verdict that no counted error supports, and the counting gap that made the correction unsafe is closed.

    APIFeature

    A batch blocked on quota stops waiting forever, and stops promising a retry that is not coming

    When the cluster refused admission or the engine deploy lock held, the batch was released and re-queued with no exit condition, so a wedged lock held it queued indefinitely and hand cancellation was the only way out. The loop is now bounded by a wall-clock window. Separately, a batch that failed on that path could land FAILED still carrying the upstream promise that submission would be retried automatically, next to advice to resubmit. Those two sentences no longer ship together.

    EngineFeature

    A page the model refused to read reports a typed policy block

    When the provider declines to generate content, its SDK raises an opaque error about quick accessors and blocked prompts, and that raw string is what landed in the document's error field. For brand safety a content-policy block is the signal, so a consumer had to pattern-match a provider stack trace to learn one happened. The web scraper now reports it as a typed outcome carrying the block reason.

    APIFeature

    A when condition behaves the same on every enrich stage

    Five copies of the condition evaluator had drifted apart. is_null matched on three enrich stages and matched nothing on a fourth; regex worked only on the one that lacked is_null. Neither combination raised an error, so a condition that silently never matched read as a condition that was never true. There is now one evaluator, and an operator a stage does not implement says so instead of quietly returning no match.

    APIFeature

    query_expand's timeout is capped at the value that still degrades gracefully

    The stage's timeout warning told you to raise expansion_timeout_ms and named no bound. Past roughly five seconds the graceful degrade turned into a total loss: instead of results plus a timeout warning you got nothing, with no warning naming why, because the stage's own hard cancellation ceiling is fixed and the parameter does not move it. The value is now capped where it is confirmed safe, and the warning names the cap.

    APIFeature

    A code execution stage stops failing once the candidate set gets large

    The sandbox wrapper embedded the whole serialized candidate set as a string literal inside the generated source, and that source is passed to the sandbox shell as part of the command line. Past a modest document count the shell refused the call outright with an argument-list-too-long error, which is how three enrich stages failed deterministically at a top_k of thirty. The candidate set no longer travels on the exec line.

    Run the latest on your own files

    Everything above is live. Point Mixpeek at the storage you already have and search your video, images, audio, and documents through one API. Build starts at $25/mo for up to 1M vectors.