Hello @Community!
We’re excited to share with you the latest and greatest updates in our Speckle 2.13 release🎉! This release is packed with new features, improvements, and bug fixes🔨.
Connectors
Revit
-
Point-based family instances are now sent as proper instances! This means you can:
- Retrieve the full nested structure of your family instance along with their local transforms
- Receive instances quickly as actual blocks in Rhino, Autocad, Sketchup, Blender and more
- Added phaseDemolished parameter in RevitConverter
Rhino
-
Layers are now sent as
Collection
objects! Features:- Explore your Rhino model in our viewer with their original layer structure
- Stores display styles and render materials on layers
- Improved curved geometry transfer from Rhino to Revit
Grasshopper
- Component UI improvements and bug fixes
Sketchup
-
Revit to SketchUp workflow enabled: With this release, we have enabled the Revit to Sketchup workflow, which allows you to convert your Revit models to Sketchup models. Features:
- Revit categories as Tags
- Revit materials to Sketchup materials
- 3D Views from Revit to Sketchup Scenes
- Create components for family types/instances
- Revit levels received
- Sections created from Revit levels
- Useful Outliner organization
- Diffing (Alpha): With this feature, users can highlight differences between two send operations they make. They send their model to Speckle. They make changes to the model. Once they enable diffing, it will highlight the changing parts so you see what has changed since last send. Currently limited to push pull operations.
- Deserialized Attributes: Sketchup attributes were sent as a JSON object before. Now they are deserialized, prettier from a user pov.
- Sketchup IFC Attribute Support: Sketchup components can be tagged as IFC elements. With this feature, you can send your components to Speckle and receive it back. It will still have the IFC attributes.
- Instancing: Instances from Revit are received as components. This improves the performance of receiving 5x times.
- Receiving Refactored: We have refactored our receiver (the thing that runs in the background when you receive data from Speckle). So it is faster and more robust.
- fix: Overriding existing documents with new settings
- fix: Switching documents didn’t preserve settings
- fix: Aligned detached properties with C# connectors
- fix: Origin point of components were visible in the Viewer
- fix: User Preferences are not stored properly
Blender
-
Improved support for sending and receiving curves!
- Both Bézier and Nurbs curves will send displayValues (and therefore render in the viewer)
- Fixed many issues with sending nurbs (all non-bézier, non-surface Nurbs should send perfectly now!)
- Fixed issues with receiving Nurbs curves (all incomming curves should be perfect!)
- Added support for receiving ellipses and circles (without trims)
- see the before and after!
-
Improvements to receiving Instances
- Added support for receiving Revit instances.
- Added option to receive Instances as either:
- Instance Collections (previous behaviour, default) - faster, more efficient, object structure unchanged, but requires linking the collection definition (from the file outliner) to edit the geometry objects)
- Linked Duplicates - Slower, and block structure is somewhat lossy, but easier to edit inside geometry.
- Fixed issue with receiving commits that contained multiple copies/instances of the identical objects, They now correctly receive (as with shared data AKA linked duplicates).
-
Improved naming of received objects. They now follow a
"{name/type} -- {id}.XXX"
format -
Now populating the
area
prop of meshes sent to Speckle. - Fixed issue with UI getting into a state where stream/branch/commit items are populated, but their data is uninitialised.
ETABS
- Improved Revit to Etabs to Revit workflow for structural analysis
- Support for stick models from Rhino mapped as BuiltElements
ArchiCAD
- Slab/Column/Beam improvements on send and receive
- 3D data (wall wrapping, veneer, others)
- material overrides
- visibility settings
- 2D data (Floor Plan and Section, line types, fills, etc.)
- Wall improvements - send and receive all properties
Navisworks
- Significant stability improvements: Cancelling processes, Swallowing most app crashes
- Wicked speed improvements: Selections and Conversions 50-70% faster
- Better UX with web viewing Navisworks object collections
- Better UX with object data discovery for analysis/inquiry
- 2D/2.5D Support Lines, Polylines, Circles, Splines, Support Helices, Clothoids etc.
QGIS and ArcGIS
- ArcGIS: brand new UI!
- Supporting receive for IFC data and Meshes
- Sending previously received Meshes to Speckle in the same Mesh format (instead of GIS polygons)
- Better notifications and error reporting
- QGIS: experimental functionality: send and receive data in the background, without freezing the interface
- QGIS: receive CAD/BIM data even if QGIS project isn’t saved yet
Server & Web
We made a number of patch releases to the server since our 2.12.0 release. This changelog includes changes introduced since 2.12.0, including our patch releases.
3D Viewer
- Integrated speckle instances. Leveraging hardware instancing for them is still yet to come
- Fix : Shadowcatcher now only renders mesh objects. This fixes artifacts caused by rendering lines to the shadowcatcher texture
What’s changed since 2.12, and has already been released in patches:
- Different geometry types now are rendered on different internal layers
- Reduced viewer memory footprint significantly
- Occlusion queries are now performed much faster
- Implemented async stream loading and stream load cancelling
- Fix : Polycurve elements geometry only created once
- Fix : Ignoring curves with no display values
- Fix : Ensured shadowcatcher texture size never exceeds the hardware limit
- Fix : Ignoring meshes with no geometry data
Server & Frontend
It is now possible to configure the server to allow greater administration privileges. This is disabled by default.
- feat(server): add admin override to otheruser steams query by @gjedlicska in #1401
- feat(server): add switchable admin authz override by @gjedlicska in #1378
Fixes:
- Issues with OIDC authentication are now resolved
- fix(server auth): fix oidc stategy by @gjedlicska in #1394
- Emails now render correctly when viewed in Outlook
- refactor(server email templates): use the mjml ejs rendering for all emails by @gjedlicska in https://github.com/specklesystems/speckle-server/pull/1448
- fix: (server password reset): email mjml was missing mj tags by @gjedlicska in https://github.com/specklesystems/speckle-server/pull/1452
- fix(server emails): outlook doesnt support linear gradients in css by @gjedlicska in #1439
- Addressed a number of security recommendations
- feat(ratelimiting): allow auth endpoints to have custom rate limit by @iainsproat in #1387
- fix(security): prevent potential prototype pollution via request body filter by @iainsproat in #1388
- The REST API should respond with appropriate HTTP status codes
- fix(server): preview REST endpoint shall return 403 not 500 if no per… by @iainsproat in https://github.com/specklesystems/speckle-server/pull/1443
- gergo/invalid token throw by @gjedlicska in https://github.com/specklesystems/speckle-server/pull/1444
- File Imports can now handle mixed cases for the filename
- fix(fileimport): should not fail if filetype is upper or mixed case by @iainsproat in #1427
- Many security updates of dependencies.
DevOps
Documentation
- fix(helm): schema.json now matches values file by @iainsproat in https://github.com/specklesystems/speckle-server/pull/1445
- docs(helm): schematic diagram in mermaid format by @iainsproat in #1358
We have made a large number of improvements to logging, including the logging of requests and responses from all REST API endpoints.
- chore(fileimport): log more parameters by @iainsproat in #1412
- fix(webhook): should not duplicate logging of error by @iainsproat in #1413
- chore(server): improve logging of REST API endpoints by @iainsproat in #1414
- feat(logging): log all http requests and responses by @iainsproat in #1416
- fix(logging): user login attempt without invite to an invite-only server should be logged for information by @iainsproat in #1386
- fix(webhook): do not log problems connecting to external webhook environment as error severity by @iainsproat in #1397
- fix(monitor): logging should produce a msg field with the message by @iainsproat in #1363
- fix(logs): previews not found is a warning, not an error by @iainsproat in #1371
- fix(log): auth endpoint should not log app secrets by @iainsproat in #1372
- fix(logging): user input errors should be logged as info severity by @iainsproat in #1370
- chore(server/fileimports): add more logging around file import failures by @iainsproat in https://github.com/specklesystems/speckle-server/pull/1429
- fix(redis): Redis errors should be logged in a structured manner by @iainsproat in #1389