Dear Speckle Community,
As one of the final parts of our “The Great Rename” initiative, we announce the deprecation of several GraphQL API endpoints. This initiative follows our successful migration from the legacy web application to the new platform, ensuring feature parity while gradually refining the underlying architecture.
Kudos to @fabians for your outstanding work in making this transition possible!
All endpoints will remain active for the foreseeable future to give developers ample time to migrate their apps, scripts, and custom connectors to the new terminology. While this isn’t technically a breaking change, as the endpoints will stay live for now, there isn’t a timeline for their removal. We strongly encourage all developers to migrate as soon as possible to avoid being caught short.
In addition to mapping new terminology equivalents, we have extended the API terms, fields and subscriptions and will introduce more documentation about using some of these new features. We will also include more granular documentation on how to use the GraphQL API in general.
The Speckle Connectors team (thanks to @Jedd, @AlanRynne and @Kateryna ) has been upgrading all the Speckle SDKs to use the new verbs and queries. If you use those for server interoperability, you can continue using the wrappers and helpers without changes.
Additionally, the GraphQL explorer found at https://app.speckle.systems/explorer and the https://app.speckle.systems/graphql endpoints will include deprecation notices that recommend the new alternatives where there is a mapping to the new terminology.
NB - not all mappings to new terminology are direct translations where we have improved the semantics and logic to be more internally consistent.
.
Example Query notice
Example Subscription notice
Example Mutation notice
We appreciate your understanding and cooperation as we transition to this refined architecture. This change aims to improve clarity and consistency in our API. Please refer to the updated documentation and tutorials for guidance on migrating to the new terminology.
Deprecation Details:
Query Type:
- Deprecated fields include:
streamAccessRequest
,apps
,comment
,comments
,stream
,streams
,discoverableStreams
( no plans to reintroduce),userPwdStrength
,streamInvite
,streamInvites
.
Mutation Type:
- Deprecated fields include:
streamAccessRequestUse
,streamAccessRequestCreate
,branchCreate
,branchUpdate
,branchDelete
,commitCreate
,commitUpdate
,commitReceive
,commitDelete
,commitsMove
,commitsDelete
,objectCreate
,streamCreate
,streamUpdate
,streamDelete
,streamsDelete
,streamUpdatePermission
,streamRevokePermission
,streamFavorite
( no plans to reintroduce),streamLeave
,streamInviteCreate
,streamInviteBatchCreate
,streamInviteUse
,streamInviteCancel
.
Subscription Type:
- Deprecated fields include:
branchCreated
,branchUpdated
,branchDeleted
,commitCreated
,commitUpdated
,commitDeleted
,userStreamAdded
,userStreamRemoved
,streamUpdated
,streamDeleted
,projectFileImportUpdated
.
Stream Type:
- Deprecated fields include:
pendingAccessRequests
,activity
,blobs
,blob
,commentCount
,commits
,commit
,branches
,branch
,object
,fileUploads
,fileUpload
,webhooks
.
User Type:
- Deprecated fields include:
activity
,timeline
,commits
,streams
,favoriteStreams
,totalOwnedStreamsFavorites
.
LimitedUser Type:
- Deprecated fields include:
activity
,timeline
,commits
,streams
,totalOwnedStreamsFavorites
.
Branch Type:
- Deprecated fields include:
activity
,streams
.
Commit Type:
- Deprecated fields include:
activity
,commentCount
.
Object Type:
- Deprecated fields include:
commentCount
.
PendingStreamCollaborator Type:
- Deprecated fields include:
streamId
,streamName
.
The activityStream
is the last area we are working on.