All Versions
119
Latest Version
Avg Release Cycle
23 days
Latest Release
38 days ago

Changelog History
Page 1

  • v1.99 Changes

    November 01, 2022

    Major Announcements :loudspeaker:

    • ๐Ÿ“ฆ Starting with version 1.100, CesiumJS will be published alongside two smaller packages @cesium/engine and @cesium/widgets #10824:
      • The source code will been paritioned into two folders: packages/engine and packages/widgets.
      • These workspaces packages will follow semantic versioning.
      • These workspaces packages will be published as ES modules with TypeScript definitions.
      • The combined CesiumJS release will continue to be published, however, the Source folder will only contain the following:
      • Cesium.js
      • Cesium.d.ts
      • Assets
      • ThirdParty
      • Widgets(CSS files only)
      • The ability to import modules and TypeScript definitions from individual files will been removed. Any imports should originate from the cesium module (import { Cartesian3 } from "cesium";) or the combined Cesium.js file (import { Cartesian3 } from "Source/Cesium.js";);
    โž• Additions :tada:
    • โž• Added support for I3S 3D Object and IntegratedMesh Layers. #9634
    Deprecated :hourglass_flowing_sand:
    • ๐Ÿšš The viewer parameter in KmlTour.prototype.play was deprecated in Cesium 1.99. It will be removed in 1.100. Instead of a Viewer, pass a CesiumWidget instead. #10845
    ๐Ÿ›  Fixes :wrench:
    • ๐Ÿ›  Fixed a bug where the scale of a Model was being incorrectly applied to its bounding sphere. #10855
    • ๐Ÿ›  Fixed a bug where rendering a Model with image-based lighting while specular environment maps were unsupported caused a crash. #10859
    • ๐Ÿ›  Fixed a bug where request render mode was broken when a ground primitive is added. #10756
  • v1.98.1 Changes

    October 03, 2022
    • ๐Ÿš€ This is an npm only release to fix the improperly published 1.98.
  • v1.98 Changes

    October 03, 2022

    ๐Ÿ’ฅ Breaking Changes :mega:

    • ๐Ÿš€ As of the previous release (1.97), new Model() is an internal constructor and must not be used directly. Use Model.fromGltf() instead. #10778
    โž• Additions :tada:
    • Added support for the WEB3D_quantized_attributes extension found in some glTF 1.0 models. #10758
    ๐Ÿ›  Fixes :wrench:
    • ๐Ÿ›  Fixed a bug where instanced models without normals would not render. #10765
    • ๐Ÿ›  Fixed a regression where i3dm with scale and without rotation would render incorrectly. #10808
    • ๐Ÿ›  Fixed a regression where instanced feature IDs were not processed correctly #10771
    • ๐Ÿ›  Fixed a regression where Cesium3DTileFeature.setProperty() was not creating properties for unknown property IDs. #10775
    • Fixed a regression where pnts tiles with 3DTILES_draco_point_compression and <= 8 quantization bits were being rendered incorrectly. #10794
    • ๐Ÿ›  Fixed a regression where glTF models with unused nodes would crash #10813
    • ๐Ÿ›  Fixed a regression where tilesets would not load in multiple Viewers. #10828
    • ๐Ÿ›  Fixed a bug where camera would not follow the Viewer.trackedEntity if it had a model with a HeightReference other than NONE. #10805
    • ๐Ÿ›  Fixed a bug where calling removeAll on a ClippingPlaneCollection attached to a Model would cause a crash. #10827
    • ๐Ÿ›  Fixed a bug where replacing a Model's ClippingPlaneCollection with one of the same length would cause a crash. #10831
    • ๐Ÿ›  Fixed a bug where KMLs with a NetworkLink with viewRefreshMode=='onRegion' would cause Cesium to make numerous resource requests and possibly trigger an out of memory error. #10790
    • ๐Ÿ›  Fixed a bug where calling Vector3DTileContent.getFeature before a render update could result in no feature being returned. #10819
  • v1.97 Changes

    September 01, 2022

    Major Announcements :loudspeaker:

    • CesiumJS has switched to a new architecture for loading glTF models and tilesets to enable:
    • Usage notes for the new glTF architecture:
      • Those using ModelExperimental.fromGltf() should now use Model.fromGltf().
      • The enableModelExperimental flag was removed, as tilesets and entities always use the new architecture.
      • The new implementation of Model uses the same public API as before, so no other changes are necessary.

    ๐Ÿ’ฅ Breaking Changes :mega:

    • ๐Ÿฑ glTF 1.0 assets are no longer fully supported. glTF 1.0 techniques are converted to PBR materials where possible, but more complex techniques will no longer function correctly. If custom GLSL shaders are needed, use CustomShader instead. #10648
    • The glTF 2.0 extension KHR_techniques_webgl and KHR_materials_common are also no longer fully supported. Materials are converted to PBR materials where possible.
    • ๐Ÿ‘Œ Support for rendering instanced models on the CPU has been removed.
    • ๐Ÿšš Model.gltf, Model.basePath, Model.pendingTextureLoads (properties), and Model.dequantizeInShader (constructor option) have been removed.
    • ๐Ÿšš ModelMesh and ModelMaterial have been removed.
    • new Model() is an internal constructor and must not be used directly. Use Model.fromGltf() instead. #10778
    โž• Additions :tada:
    • ๐Ÿฑ Model can now classify other assets with a given classificationType. #10623
    • ๐Ÿ‘ Model now supports back face culling for point clouds. #10703
    • ๐Ÿ”ง Export asset files such as CSS in package.json, allowing bundlers to import without additional configuration. #9212
    • ๐Ÿ“ฆ The sideEffects field in package.json is now specified, allowing more conservative bundlers like Webpack to enable tree shaking by default. #10714
    • ๐Ÿ‘ Model entities now support CustomShader. #10747
    ๐Ÿ›  Fixes :wrench:
    • Fixed bug with Viewer.flyTo where camera could go underground when target is an Entity with ModelGraphics with HeightReference.CLAMP_TO_GROUND or HeightReference.RELATIVE_TO_GROUND. #10631
    • ๐Ÿ›  Fixed issues running CesiumJS under Node.js when using ES modules. #10684
    • ๐Ÿ›  Fixed the incorrect lighting of instanced models. #10690
    • ๐Ÿ›  Fixed developer error with Camera.flyTo with an orientation and a Rectangle value for destination. #10704
    • ๐Ÿ›  Fixed rendering bug with points in .vctr format, where points wouldn't show until picked or styled. #10707
    • Fixed bounding volume calculations for glTF models with KHR_mesh_quantization and normalized positions. #10741
  • v1.96 Changes

    August 01, 2022
    Major Announcements :loudspeaker:
    • โšก๏ธ Built Cesium.js is no longer AMD format. This may or may not be a breaking change depending on how you use Cesium in your app. See our blog post for the full details. #10399
      • Built Cesium.js has gone from 12.5MB to 8.4MB unminified and from 4.3MB to 3.6MB minified. Cesium.js.map has gone from 22MB to 17.2MB.
      • If you were ingesting individual ESM-style modules from the combined file Build/Cesium/Cesium.js or Build/CesiumUnminified/Cesium.js, instead use Build/Cesium/index.js or Build/CesiumUnminified/index.js respectively.
      • Using ESM from Source will require a bundler to resolve third party node dependencies.
      • CESIUM_BASE_URL should be set to either Build/Cesium or Build/CesiumUnminified.
    ๐Ÿ’ฅ Breaking Changes :mega:
    • Model.boundingSphere now returns the bounding sphere in ECEF coordinates instead of the local coordinate system. #10589
    โž• Additions :tada:
    • Models and tilesets that use the CESIUM_primitive_outline extension can now toggle outlines at runtime with the showOutline property. Furthermore, the color of the outlines can now be controlled by the outlineColor property. #10506
    • โž• Added optional blurActiveElementOnCanvasFocus option to set the behavior of blurring the active element when interacting with the canvas. #10518
    • โž• Added ModelExperimental.getNode to allow users to modify the transforms of model nodes at runtime. #10540
    • โž• Added support for point cloud styling for tilesets loaded with ModelExperimental. #10569
    • ๐ŸŽ Upgraded earcut from version 2.2.2 to version 2.2.4 which includes 10-15% better performance in triangulation. #10593
    ๐Ÿ›  Fixes :wrench:
    • Fixed crash when loading glTF models with the EXT_mesh_features and EXT_structural_metadata extensions without channels property. #10511
    • ๐Ÿ›  Fixed a crash in the 3D Tiles Feature Styling sandcastle that occurred when using ModelExperimental. #10514
    • ๐Ÿ›  Fixed improper handling of double-sided materials in ModelExperimental. #10507
    • ๐Ÿ›  Fixed a bug where the alpha component of model.color would not update in the 3D Models Coloring sandcastle when using ModelExperimental. #10519
    • ๐Ÿ›  Fixed a bug where .cmpt files were not cached correctly in ModelExperimental. #10524
    • ๐Ÿ›  Fixed a crash in the 3D Tiles Formats sandcastle when loading draco-compressed point clouds with ModelExperimental. #10521
    • ๐Ÿ›  Fixed a bug where per-feature post-processing was not working with ModelExperimental. #10528
    • ๐Ÿ›  Fixed error in loadAndExecuteScript and favorite icon lost in sandcaslte when CesiumJS was running in cross-origin isloated evironment.#10515
    • ๐Ÿ›  Fixed a bug where Viewer.zoomTo would continuously throw errors if a Cesium3DTileset failed to load.#10523
    • ๐Ÿ›  Fixed a bug where styles would not apply to tilesets if they were applied while the tileset was hidden. #10582
    • ๐Ÿ›  Fixed a bug where .i3dm models with quantized positions were not being correctly loaded by ModelExperimental. #10598
    • ๐Ÿ›  Fixed a bug where dynamic geometry was not marked as ready. #10517
    Deprecated :hourglass_flowing_sand:
    • ๐Ÿ‘Œ Support for rendering instanced models on the CPU has been deprecated and will be removed in CesiumJS 1.97. #10589
    • ๐Ÿšš The polyfills requestAnimationFrame and cancelAnimationFrame have been deprecated and will be removed in 1.99. Use the native browser methods instead. #10579
  • v1.95 Changes

    July 01, 2022
    ๐Ÿ’ฅ Breaking Changes :mega:
    • Tilesets rendered with ModelExperimental must set projectTo2D to true in order to be accurately projected and rendered in 2D / CV mode. #10440
    โž• Additions :tada:
    • ๐Ÿ“‡ Memory statistics for ModelExperimental now appear in the Cesium3DTilesInspector. This includes binary metadata memory, which is not counted by Model. #10397
    • Memory statistics for ResourceCache (used by ModelExperimental) now appear in the Cesium3DTilesInspector. #10413
    • โž• Added support for rendering individual models in 2D / CV using ModelExperimental. #10419
    • โž• Added support for rendering instanced tilesets in 2D / CV using ModelExperimental. #10433
    • โž• Added modelUpAxis and modelForwardAxis constructor options to Cesium3DTileset #10439
    • โž• Added heightReference to ModelExperimental. #10448
    • โž• Added silhouetteSize and silhouetteColor to ModelExperimental. #10457
    • โž• Added support for mipmapped textures in ModelExperimental. #10231
    • โž• Added distanceDisplayCondition to ModelExperimental. #10481
    • โž• Added support for AGI_articulations to ModelExperimental. #10479
    • โž• Added credit to ModelExperimental. #10489
    • โž• Added asynchronous to ModelExperimental.fromGltf. #10490
    • โž• Added id to ModelExperimental. #10491
    • ExperimentalFeatures.enableModelExperimental now enables ModelExperimental for entities and CZML in addition to 3D Tiles. #10492
    ๐Ÿ›  Fixes :wrench:
    • ๐Ÿ›  Fixed FeatureDetection for Microsoft Edge. #10429
    • ๐Ÿ›  Fixed broken links in documentation of CesiumTerrainProvider. #7478
    • Warn if Cesium3DTile content.uri property is empty, and load empty tile. #7263
    • ๐Ÿ“š Updated text highlighting for code examples in documentation. #10051
    • โšก๏ธ Updated ModelExperimental shader defaults to match glTF spec. #9992
    • ๐Ÿ›  Fixed shadow rendering artifacts that appeared in ModelExperimental. #10501
    Deprecated :hourglass_flowing_sand:
    • ๐Ÿšš The .getPropertyNames methods of Cesium3DTileFeature, Cesium3DTilePointFeature, and ModelFeature have been deprecated and will be removed in 1.98. Use the .getPropertyIds methods instead.
  • v1.94.3 Changes

    June 10, 2022
    • ๐Ÿ›  Fixed a crash with vector tilesets with lines when clamping to terrain or 3D tiles. #10447
  • v1.94.2 Changes

    June 03, 2022
    • ๐Ÿš€ This is an npm only release to fix the improperly published 1.94.1.
  • v1.94.1 Changes

    June 03, 2022
    โž• Additions :tada:
    • โž• Added support for rendering individual models in 2D / CV using ModelExperimental. #10419
    ๐Ÿ›  Fixes :wrench:
    • ๐Ÿ›  Fixed Cesium3DTileColorBlendMode.REPLACE for certain tilesets. #10424
    • ๐Ÿ›  Fixed a crash when applying a style to a vector tileset with point features. #10427
  • v1.94 Changes

    June 01, 2022
    ๐Ÿ’ฅ Breaking Changes :mega:
    • โœ‚ Removed individual image-based lighting parameters from Model and Cesium3DTileset. #10388
    • Models and tilesets rendered with ModelExperimental must set enableDebugWireframe to true in order for debugWireframe to work in WebGL1. #10344
    • โœ‚ Removed ImagerySplitPosition and Scene.imagerySplitPosition. Use SplitDirection and Scene.splitPosition instead.#10418
    • โœ‚ Removed restriction on enabling Scene.orderIndependentTranslucency on iPad and iOS. #10417
    โž• Additions :tada:
    • โž• Added Cesium3DTileStyle.fromUrl for loading a style from a url. #10348
    • โž• Added IndexDatatype.fromTypedArray. #10350
    • โž• Added ModelAnimationCollection.animateWhilePaused and ModelAnimation.animationTime to allow explicit control over a model's animations. #9339
    • Replaced options.gltf with options.url in ModelExperimental.fromGltf. #10371
    • โž• Added support for 2D / CV mode for non-instanced tilesets rendered with ModelExperimental. #10384
    • โž• Added PolygonGraphics.textureCoordinates, PolygonGeometry.textureCoordinates, CoplanarPolygonGeometry.textureCoordinates, which override the default stRotation-based texture coordinate calculation behaviour with the provided texture coordinates, specified in the form of a PolygonHierarchy of Cartesian2 points. #10109
    ๐Ÿ›  Fixes :wrench:
    • ๐Ÿ›  Fixed the rendering issues related to order-independent translucency on iOS devices. #10417
    • ๐Ÿ›  Fixed the inaccurate computation of bounding spheres for models not centered at (0,0,0) in their local space. #10395
    • ๐Ÿ›  Fixed the inaccurate computation of bounding spheres for ModelExperimental. #10339
    • ๐Ÿ›  Fixed error when destroying a 3D tileset before it has finished loading. [#10363](Fixes https://github.com/CesiumGS/cesium/issues/10363)
    • ๐Ÿ›  Fixed race condition which can occur when updating Cesium3DTileStyle before its readyPromise has resolved. #10345
    • ๐Ÿ›  Fixed label background rendering. #10342
    • ๐ŸŒ Enabled support for loading web assembly modules in Edge. #6541
    • ๐Ÿ›  Fixed crash for zero-area region bounding volumes in a 3D Tileset. #10351
    • ๐Ÿ›  Fixed Cesium3DTileset.debugShowUrl so that it works for implicit tiles too. #10372
    • ๐Ÿ›  Fixed crash when loading a tileset without a metadata schema but has external tilesets with tile or content metadata. #10387
    • ๐Ÿ›  Fixed winding order for negatively scaled models in ModelExperimental. #10405
    • ๐Ÿ›  Fixed error when calling sampleTerrain over a large area that required lots of tile requests. #10425
    Deprecated :hourglass_flowing_sand:
    • ๐Ÿ’… Cesium3DTileStyle constructor parameters of string or Resource type have been deprecated and will be removed in CesiumJS 1.96. If loading a style from a url, use Cesium3DTileStyle.fromUrl instead. #10348
    • ๐Ÿ’… Cesium3DTileStyle.readyPromise and Cesium3DTileStyle.ready have been deprecated and will be removed in CesiumJS 1.96. If loading a style from a url, use Cesium3DTileStyle.fromUrl instead. #10348
    • ๐Ÿšš Model.gltf, Model.basePath, Model.pendingTextureLoads (properties), and Model.dequantizeInShader (constructor option) have been deprecated and will be removed in CesiumJS 1.97. #10415
    • ๐Ÿ‘Œ Support for glTF 1.0 assets has been deprecated and will be removed in CesiumJS 1.97. Please convert any glTF 1.0 assets to glTF 2.0. #10414
    • Support for the glTF extension KHR_techniques_webgl has been deprecated and will be removed in CesiumJS 1.97. If custom GLSL shaders are needed, use CustomShader instead. #10414
    • Model.boundingSphere currently returns results in the model's local coordinate system, but in CesiumJS 1.96 it will be changed to return results in ECEF coordinates. #10415