Skip to main content
This is 2026.9 documentation. Coverage here is incremental: a page exists only where 2026.9 differs or is newly documented. For any other topic, switch to Current (2026.8 and earlier) in the version selector.
If your application imports @speckle/viewer and loads Speckle data itself, 2026.9 changes what it loads. A version’s data is no longer an object graph fetched from the objects endpoints; it is a bundle of parquet files. The published Viewer package has no loader for that shape, so a bundle version renders nothing and the objects endpoints return 404. The rest of the package is unaffected. Render pipelines, extensions, filtering, selection, queries, the world tree and view modes all work the same way, because the change is in where the data comes from, not in what the viewer does with it once converted.

Am I affected?

Two ways forward

Load bundles yourself

Add about a dozen files to your app, keep the same published packages, and render bundles. Sample code and a step-by-step path.

Ask for compatibility mode

Keeps your workspace’s data in the object-graph format, so your app keeps working unchanged until the mode ends on 1 November 2026.
Loading bundles is the route that outlasts compatibility mode, which ends on 1 November 2026. It is sample code rather than a package release, so you own the copy and it carries a date — see the guide for what it does and does not cover. Neither option reaches what 2026.9 makes possible. The bundle format is built for streaming reads, sharded geometry and querying properties without materialising objects, and both options here keep your app on the object graph it replaced: compatibility mode by producing that graph, the bridge by rebuilding it in memory. Getting the performance the format allows needs a viewer built for it. Plan for that, and treat both of these as ways to keep working until it arrives.
Compatibility mode is not self-serve, and it ends for every workspace on 1 November 2026. See Compatibility mode for how to request it.

Not the Viewer package

Two nearby cases have their own pages.
  • A data-only JavaScript app that reads Speckle data without rendering it — built on @speckle/objectloader or @speckle/objectloader2 — should read the bundle directly rather than bridging to an object graph. Start from Building applications.
  • The 3D viewer in the product UI is not this package. See 3D viewer in 2026.9.

Package reference

Package-level Viewer API documentation is unchanged by 2026.9 and lives in the other documentation version: Viewer developer documentation. The API surface the bridge relies on — Loader, SpeckleLoader, WorldTree, loadObject — is documented there.
Last modified on September 29, 2026