2.23.8 - 2.25.0
May 2025
  • get clippingVolume from SpeckleRenderer now returns an OBB
  • set clippingvolume from SpeckleRenderer now accepts both Box3 and OBB
  • all intersection methods from Intersections now accept both Box3 and OBB as bounds argument
  • expandBoxRelative from World now accepts both a Box3 and a OBB
  • requestUpdate from SectionOutlines extension now takes an optional force argument that forces an update
2.23.6 - 2.23.8
February 2025
  • Loader’s resourceData changed from string | ArrayBuffer to unknown to allow each loader to define it’s own resource data type
2.21.2 - 2.23.6
January 2025
  • SmoothOrbitControls’s constructor changed. It no longer takes a Scene and Intersections, but only a SpeckleRenderer
2.21.2 -> 2.22.2
November 2024
  • Loader’s resourceData changed from string | ArrayBuffer to unknown to allow each loader to define it’s own resource data type
  • SmoothOrbitControls’s constructor changed. It no longer takes a Scene and Intersections, but only a SpeckleRenderer
2.21.1 -> 2.22.2
October 2024
  • Entire rendering pipeline got a massive update and it now allows for free user customization as well as user defined passes
  • pipeline accessors added to SpeckleRenderer. This allows for user defined rendering pipelines
  • pipelineOptions accessors removed from SpeckleRenderer
  • PipelineOutputType removed. The pipeline’s result now depends on the pipeline’s pass configuration
  • DynamicAOPassParams and it’s default removed
  • StaticAoPassParams and it’s default removed and replaced by ProgressiveAOPassOptions
  • A series of pre-defined rendering passes as well as entire rendering pipelines have been added
2.20.2 -> 2.21.1
September 2024
  • Vector3 and Box3 have been removed from the viewer’s exports. They can now be imported from three.js
2.19.4 -> 2.20.2
August 2024
  • All input mesh vertex colors are now treated as sRGB
2.19.1 -> 2.19.4
July 2024
  • NearCameraCalculation type option added to CameraController option.
  • UpdateFlags.RENDER no longer resets pipeline. Added UpdateFlags.RENDER_RESET which forces a pipeline reset
2.18.16 -> 2.19.1
June 2024
  • Added tasOnly as a parameter in all intersect variants.
  • The existing firstHitOnly option on Raycaster now stops on first intersected TAS, asa well as first intersected BAS from that TAS (if tasOnly is not set)
2.18.15 -> 2.18.16
May 2024
  • Vector3Like replaces VectorLike in the arguments of transformTRS in BatchObject
  • SpeckleLoader no longer takes a priority argument in it’s constructor
  • addRenderTree from SpeckleRenderer now takes a RenderTree as an argument instead of a RenderTree id
  • getRenderTree is now overloaded with a version with no arguments that never returns null
  • intersect and intersectRay arguments have been moved around and both are now overloaded
2.18.14 -> 2.18.15
April 2024
  • Asset now has a mandatory id field
  • getEnvironment and getTexture from Assets now only accept Asset as argument
  • The concept of Providers has been removed entirely
  • CameraProvider has been replaced by SpeckleCamera
  • CameraControllerEvent renamed to CameraEvent
2.18 -> 2.18.14
March 2024
  • updateClippingPlanes in SpeckleRenderer does not take an optional Plane[] argument anymore
  • setOptions from SelectionExtension has changed to an accessor
  • displayOn and displayOff from SectionTool are replaced by visible accessor
2.x -> 2.18
February 2024

The introduction of viewer API 2.0 into our stable channel. The changes to the API itself are extensive and there is no point for a step by step guide, as what was previously known as API 2.0 will become the single supported viewer API moving forward.