2.22.0
This version requires the dependency of Postgres to have minimum version of 16. Please first backup your database before migrating to Postgres version 16.
What's Changed
- fix(fe2): Update button style in onboarding flow by @andrewwallacespeckle in #3170
- feat(fe2): workspace slug / short id support by @andrewwallacespeckle in #3088
- gergo/web 1926 test app api by @gjedlicska in #3166
- fix(fe2): Cannot access 'isRevitProperty' before initialization by @andrewwallacespeckle in #3172
- fix(fe2): Make toasts clickable when dialogs are open by @andrewwallacespeckle in #3176
- Feat: Added modal for moving projects into workspace by @Mikehrn in #3124
- refactor(fe2): Update queries to use workspaceBySlug by @andrewwallacespeckle in #3177
- chore(auth): move common middleware to factory functions by @cdriesler in #3178
- Alessandro/web 943 add stream invite sent out activity by @alemagio in #3159
- chore(server): core IoC 17 - createCommitByBranchIdFactory by @fabis94 in #3168
- Fix: Use workspace in breadcrumb on versions page by @Mikehrn in #3184
- Feat: Add custom modal for user feedback by @Mikehrn in #3179
- chore(server): core IoC 18 - updateCommitAndNotifyFactory by @fabis94 in #3169
- chore(server): core IoC 19 - getAllBranchCommitsFactory by @fabis94 in #3171
- chore(server): core IoC 20 - commits repo dataloders by @fabis94 in #3173
- chore(server): core IoC 21 - getCommitsAndTheirBranchIdsFactory by @fabis94 in #3174
- chore(server): core IoC 22 - cloning related commit repo fns by @fabis94 in #3175
- TreeView Highlight Fix by @AlexandruPopovici in #3187
- Fix: Add feedback modal to user nav by @Mikehrn in #3192
- Fix: Feedback button in user nav bg by @Mikehrn in #3193
- Feat: Remove workspace promobanner by @Mikehrn in #3185
- chore(server): core IoC 23 - getPaginatedBranchCommitsFactory by @fabis94 in #3188
- chore(server): core IoC 24 - batchMoveCommitsFactory by @fabis94 in #3189
- chore(server): core IoC 25 - getObjectCommitsWithStreamIdsFactory by @fabis94 in #3190
- chore(server): core IoC 26 - getStreamObjectsFactory by @fabis94 in #3191
- chore(server): core IoC 27 - getObjectFactory by @fabis94 in #3194
- IoC 1 Activitystream addStreamPermissionsRevokedActivity by @alemagio in #3195
- Activitystream IoC 2 addStreamInviteAcceptedActivity by @alemagio in #3196
- fix: single workspace admin cant accept own invite by @fabis94 in #3197
- Fix: Dont show invites wrapper if empty by @Mikehrn in #3200
- Activitystream IoC 3 addStreamPermissionsAddedActivity by @alemagio in #3198
- Activitystream IoC 1 addStreamCreatedActivity by @alemagio in #3206
- Activitystream IoC 2 addStreamClonedActivity by @alemagio in #3207
- chore(server): core IoC 28 - cloning object repo fns by @fabis94 in #3199
- chore(server): IoC 29 - getStream(s)Factory by @fabis94 in #3201
- chore(server): IoC 30 - getCommitStream(s)Factory by @fabis94 in #3202
- chore(server): IoC 31 - getStreamCollaboratorsFactory by @fabis94 in #3203
- chore(server): IoC 32 - createStreamFactory by @fabis94 in #3204
- Box Rotation by @AlexandruPopovici in #3205
- chore(server): IoC 33 - deleteStreamAndNotifyFactory by @fabis94 in #3208
- chore(server): IoC 34 - updateStreamAndNotifyFactory by @fabis94 in #3209
- Update copy in project invite banner by @benjaminvo in #3210
- Activitystream IoC 1 addStreamDeletedActivity by @alemagio in #3213
- chore(server): IoC 35 - updateStreamRoleAndNotify by @fabis94 in #3214
- chore(server): IoC 36 - createOnboardingStreamFactory by @fabis94 in #3215
- chore(server): core IoC 37 - getDiscoverableStreamsFactory by @fabis94 in #3216
- fix(ci): running yarn install twice to avoid weird CI install issues by @fabis94 in #3221
- chore(server): core IoC 38 - legacyGetStreamsFactory by @fabis94 in #3218
- chore(server): core IoC 39 - getFavoriteStreamsCollectionFactory by @fabis94 in #3220
- fix(fe2): Border issues around invite banners by @andrewwallacespeckle in #3212
- feat(logging): log request query params, redacting sensitive data by @iainsproat in #3164
- fix(logging): /metrics, /readiness, /liveness logged as debug by @iainsproat in #3156
- fix(ci): update yarn & node in CI to hopefully fix install issues by @fabis94 in #3223
- fix(logging): log errors thrown before request context is present by @iainsproat in #3165
- Activitystream IoC 1 addStreamUpdatedActivity by @alemagio in #3222
- fix(ci): same node img in all CI steps by @fabis94 in #3224
- Remove guests from workspace members table by @cdriesler in #3219
- feat(root): improved ensure tailwind deps reporting by @fabis94 in #3226
- Feat: Add role descriptions to select inputs by @Mikehrn in #3217
- Feat: Add SSO settings by @Mikehrn in #3186
- fix(fe2): Only show Workspace breadcrumb when workspace is loaded by @andrewwallacespeckle in #3225
- feat(root): streaming ensure tailwind deps output by @fabis94 in #3232
- fix(ci): increase vuln scan job resource class by @fabis94 in #3233
- refactor(fe2): Change workspace creation triggers by @andrewwallacespeckle in #3211
- Feat: add count to server members table by @Mikehrn in #3230
- Fix: Dont allow admins to change their own WS role by @Mikehrn in #3228
- feat(fe2): Redirect to workspace home on deletion of workspace project by @andrewwallacespeckle in #3238
- fix(fe2): Use workspace slug for navigate-on-success and copyWorkspaceLink by @andrewwallacespeckle in #3236
- refactor(fe2): Changes to Move Projects button by @andrewwallacespeckle in #3229
- feat(fe2): Change workspace selector empty state by @andrewwallacespeckle in #3241
- Fix: Various bugfixes by @Mikehrn in #3245
- Feat: Tooltips on avatar by @Mikehrn in #3243
- chore(ci): cleanup circleci from recent junk by @fabis94 in #3237
- Activitystream IoC 1 addStreamAccessRequestedActivity by @alemagio in #3227
- Fix: Updated connectors download URL by @Mikehrn in #3246
- feat(fe2): Show regions disabled menu item to all workspace users by @andrewwallacespeckle in #3242
- Activitystream IoC 2 addStreamAccessRequestDeclinedActivity by @alemagio in #3231
- Activitystream IoC 3 onUserCreated by @alemagio in #3234
- Fix: Re-enable count on member settings by @Mikehrn in #3247
- Activitystream IoC 4 addCommitCreatedActivity by @alemagio in #3239
- feat(fe2): Show model and version count in move projects to workspace dialog by @andrewwallacespeckle in #3240
- refactor(fe2): Copy speckle_logo_big.png to public folder by @andrewwallacespeckle in #3248
- fix(CXPLA-100): use v1 for tag links by @AlanRynne in #3249
- Activitystream IoC 1 addCommitUpdatedActivity by @alemagio in #3250
- chore(server): core IoC #40 - favoriteStreamFactory by @fabis94 in #3252
- fix(workspaces): prohibit workspace guests from being project owners by @cdriesler in #3244
- chore(server): core IoC #41 - legacyGetStreamUsersFactory by @fabis94 in #3253
- chore(server): core IoC #42 - remaining streams.js dataloaders by @fabis94 in #3254
- chore(server): core IoC #43 - scheduleExecutionFactory by @fabis94 in #3256
- Fix: Increase survicate treshold by @Mikehrn in #3251
- chore(server): core IoC #44 - remaining streams dataloaders by @fabis94 in #3261
- chore(server): core IoC #45 - getDiscoverableStreamsPage rename by @fabis94 in #3263
- fix(fe2): Fix layout shift from workspace description read mroe by @andrewwallacespeckle in #3262
- chore(server): core IoC #46 - getUserStreamsPageFactory by @fabis94 in #3264
- chore(server): core IoC #47 - markBranchStreamUpdatedFactory by @fabis94 in #3265
- chore(server): core IoC #48 - markCommitStreamUpdatedFactory by @fabis94 in #3266
- refactor(fe2): Output disabled invite button to non-admins by @andrewwallacespeckle in #3267
- chore(server): core IoC #49 - markOnboardingBaseStreamFactory by @fabis94 in #3268
- chore(server): core IoC #50 - getTokenAppInfoFactory by @fabis94 in #3269
- chore(deprecate FE1): update urls to point to *.speckle.systems by @iainsproat in #2515
- chore(server): core IoC #51 - getUser(s)Factory by @fabis94 in #3271
- chore(server): core IoC #52 - legacyGetUserFactory by @fabis94 in #3273
- chore(server): core IoC #53 - legacyGetPaginatedUsers(Count)Factory by @fabis94 in #3274
- chore(server): core IoC #54 - deleting getUserById (duplicate) by @fabis94 in #3276
- fix(helm chart): service account secrets only includes unique value by @iainsproat in #3275
- Revert "fix(helm chart): service account secrets only includes unique… by @iainsproat in #3289
- Properties and parameters UI sugar by @didimitrie in #3283
- chore(fe2): update graphql serverinfo to use new configuration object by @iainsproat in #2741
- chore(server): core IoC #55 - createUserFactory by @fabis94 in #3278
- chore(server): core IoC #56 - findOrCreateUserFactory by @fabis94 in #3279
- chore(server): core IoC #57 - getUserByEmailFactory by @fabis94 in #3280
- chore(server): core IoC #58 - legacyGetUserByEmailFactory by @fabis94 in #3281
- chore(server): core IoC #59 - legacyGetPaginatedUsersCount rename fix by @fabis94 in #3282
- chore(server): core IoC #60 - updateUserAndNotifyFactory by @fabis94 in #3286
- chore(server): core IoC #61 - changePassword & validateUserPassword by @fabis94 in #3287
- feat(fe2): adds a quick check for window focus before sending viewer events out by @didimitrie in #3295
- refactor(fe2): Make it easier to find workspace settings by @andrewwallacespeckle in #3260
- Activitystream IoC 1 addCommitMovedActivity by @alemagio in #3270
- chore(server): core IoC #62 - deleteUserFactory by @fabis94 in #3288
- chore(server): core IoC #63 - getUserRoleFactory by @fabis94 in #3290
- chore(server): core IoC #64 - changeUserRoleFactory by @fabis94 in #3292
- chore(server): core IoC #65 - searchUsersFactory by @fabis94 in #3293
- Activitystream IoC 2 addCommitDeletedActivity by @alemagio in #3284
- Activitystream IoC 3 addCommitReceivedActivity by @alemagio in #3285
- chore(server): core IoC #65 - adminUserListFactory by @fabis94 in #3297
- chore(server): core IoC #66 - markUserAsVerifiedFactory by @fabis94 in #3298
- chore(server): core IoC #67 - remaining users repo by @fabis94 in #3299
- chore(server): core IoC #68 - getAdminUsersListCollectionFactory by @fabis94 in #3301
- Loaders Visibility Update by @AlexandruPopovici in #3302
- Adds viewer receive events by @didimitrie in #3303
- fix(fe2): Dismissed discoverable workspace banners cause empty gap by @andrewwallacespeckle in #3304
- feat(fe2): Temporary Ghost URL replacement until we swap to WebFlow API by @andrewwallacespeckle in #3313
- chore(server): core IoC #69 (nice) - users resolvers to TS by @fabis94 in #3305
- Add stream destroy where db streams are used on download by @adamhathcock in #3300
- chore(server): core IoC #70 - createTokenFactory by @fabis94 in #3306
- chore(server): core IoC #71 - createAppTokenFactory by @fabis94 in #3307
- chore(server): core IoC #72 - createPersonalAccessTokenFactory by @fabis94 in #3309
- chore(server): core IoC #73 - getUserPersonalAccessTokensFactory by @fabis94 in #3310
- chore(server): core IoC #74 - revokeTokenByIdFactory by @fabis94 in #3311
- chore(server): core IoC #75 - revokeUserTokenByIdFactory by @fabis94 in #3312
- chore(server): core IoC #76 - validateTokenFactory by @fabis94 in #3314
- chore(server): core IoC #77 - apitoken resolvers to TS by @fabis94 in #3315
- chore(server): core IoC #78 - getServerInfoFactory by @fabis94 in #3316
- chore(server): core IoC #79 - updateServerInfoFactory by @fabis94 in #3317
- chore(server): core IoC #80 - remaining generic.js service by @fabis94 in #3318
- chore(server): core IoC #81 - server resolvers to TS by @fabis94 in #3319
- feat(fe2): Add deletion verification when deleting workspaces by @andrewwallacespeckle in #3277
- fix(fe2): Add Validation for Slugs by @andrewwallacespeckle in #3255
- WEB-2025-Overlay-Instances by @AlexandruPopovici in #3329
- chore(server): core IoC #82 - (most) branches resolvers to TS by @fabis94 in #3320
- chore(server): core IoC #83 - (most) commits resolvers to TS by @fabis94 in #3321
- chore(server): core IoC #84 - legacyGetPaginatedUserCommits(Page|Tota… by @fabis94 in #3322
- feat(fe2): Add forum message to feedback dialog by @andrewwallacespeckle in #3327
- Fix: Various papercuts by @benjaminvo in #3296
- feat(server): make Project.version query throw if version not found by @fabis94 in #3336
- refactor(fe2): Survicate improvements by @andrewwallacespeckle in #3330
- fix(fe2): Remove spacing in invite banners by @andrewwallacespeckle in #3338
- Fix: Update examples link by @benjaminvo in #3344
- gergo/web 1968 add features list by @gjedlicska in #3332
- feat(helm): add gatekeeper module feature flag by @gjedlicska in #3346
- chore(server): core IoC #85 - legacyGetPaginatedStreamCommits by @fabis94 in #3323
- chore(server): core IoC #86 - remaining commits.js service by @fabis94 in #3324
- chore(server): core IoC #87 - getPaginatedStreamBranchesFactory by @fabis94 in #3326
- Feat: Add events and alias for changing emails by @Mikehrn in #3345
- chore(server): core IoC #88 - createObjectFactory by @fabis94 in #3328
- chore(server): core IoC #89 - createObjectsBatchedFactory by @fabis94 in #3331
- chore(server): core IoC #90 - createObjectsBatchedAndNoClosuresFactory by @fabis94 in #3334
- chore(server): core IoC #91 - createObjectsFactory by @fabis94 in #3335
- chore(server): core IoC #92 - getFormattedObjectFactory by @fabis94 in #3337
- chore(server): core IoC #93 - getObjectChildrenStreamFactory by @fabis94 in #3339
- chore(server): core IoC #94 - getObjectChildrenFactory by @fabis94 in #3341
- Activitystream IoC 1 addCommentCreatedActivity by @alemagio in #3340
- Activitystream IoC 2 addCommentArchivedActivity by @alemagio in #3343
- fix(gatekeeper): fix billing router initialization by @gjedlicska in #3349
- feat(sso): expose public workspace information by @cdriesler in #3347
- feat(helm): configure stripe secrets from the helm chart by @gjedlicska in #3348
- gergo/fixHelmChart by @gjedlicska in #3350
- fix(helm): stripe price id refs by @gjedlicska in #3355
- feat(gatekeeper): fail fast if the environment is misconfigured for billing by @gjedlicska in #3357
- chore(server): core IoC #95 - getObjectChildrenQueryFactory by @fabis94 in #3352
- chore(server): core IoC #96 - delete getObjects by @fabis94 in #3353
- chore(server): core IoC #97 - getObjectsStreamFactory by @fabis94 in #3354
- chore(server): core IoC #98 - hasObjectsFactory by @fabis94 in #3356
- Activitystream Ioc 1 addReplyAddedActivity by @alemagio in #3358
- Activitystream IoC 2 addBranchCreatedActivity by @alemagio in #3364
- Activitystream IoC 3 addBranchUpdatedActivity by @alemagio in #3365
- chore(server): core IoC #99 - batchDeleteCommitsFactory by @fabis94 in #3367
- chore(server): core IoC #100 - rename by @fabis94 in #3368
- chore(server): core IoC #101 - adminInviteListFactory by @fabis94 in #3369
- fix(ui-components): Update bounding on opening of LayoutMenu when mountMenuOnBody by @andrewwallacespeckle in #3359
- chore(blobstorage): refactor to typescript by @iainsproat in #3374
- feat(fe2): Add change role dialog to guests table by @andrewwallacespeckle in #3375
- refactor(fe2): Use webflow api for dashboard stories by @andrewwallacespeckle in #3342
- Add otel tracing by @adamhathcock in #3294
- fix(file import): server port was broken when localhost was canonical url by @iainsproat in #3360
- Activitystream IoC 4 addBranchDeletedActivity by @alemagio in #3366
- chore(server): core IoC #102 - adminProjectListFactory by @fabis94 in #3370
- chore(server): core IoC #103 - validatePermissionsReadStream by @fabis94 in #3371
- chore(server): core IoC #104 - validatePermissionsWriteStreamFactory by @fabis94 in #3372
- chore(server): core IoC #105 - remaining js rest to ts by @fabis94 in #3373
- fix(workspaces): emit slug with discoverable workspaces by @cdriesler in #3361
- refactor(fe2): Update StringFilter.vue read more count by @andrewwallacespeckle in #3377
- fix(server): more resilient sign up tracking by @fabis94 in #3351
- fix(helm): Update webflow api key name for consistency by @andrewwallacespeckle in #3380
- fix(fe2): Update deployment.yml by @andrewwallacespeckle in #3381
- fix(server): on sign up send out only 1 verification email by @fabis94 in #3382
- Pass Reader Buffer Size Fix by @AlexandruPopovici in #3384
- fix(fe2): Redirect to workspace when joined through discoverable banner by @andrewwallacespeckle in #3383
- fix(fe2): Handle no webflow api token errors more gracefully by @andrewwallacespeckle in #3386
- webhook-service refactor multiregion by @alemagio in #3378
- Fileimport IoC 1 ServerAPI refactor multiregion by @alemagio in #3387
- chore(server): gendo IoC #1 - prep/cleanup before getting started by @fabis94 in #3388
- chore(server): easy js to ts migrations #1 by @fabis94 in #3395
- gergo/web 2038 billing graphql api by @gjedlicska in #3379
- feat(fe2): Update Section Box controls to include visibility by @andrewwallacespeckle in #3333
- chore(server): easy js to ts migrations #2 - objectStorage.ts by @fabis94 in #3396
- feat(gatekeeper): add all plan statuses by @gjedlicska in #3398
- chore(server): quick js to ts #3 - remaining branches resolver by @fabis94 in #3397
- chore(server): gendo IoC #2 - createRenderRequestFactory by @fabis94 in #3389
- chore(server): gendo IoC #3 - updateRenderRequestFactory by @fabis94 in #3391
- chore(server): gendo IoC #4 - getLatestVersionRenderRequestsFactory by @fabis94 in #3392
- chore(server): gendo IoC #5 - getVersionRenderRequestFactory by @fabis94 in #3393
- chore(server): quick js to ts #4 - remaining commits resolvers (thats it!) by @fabis94 in #3399
- gergo/checkoutGqlResolver by @gjedlicska in #3405
- View Modes by @AlexandruPopovici in #3259
- Webhooks IoC 1 cleanup function refactor by @alemagio in #3390
- Fileimport IoC 2 parseAndCreateCommit by @alemagio in #3401
- View Modes Support for Instances
undead-patch
by @AlexandruPopovici in #3411 - chore(server): quick js to ts #5 - remaining stragglers by @fabis94 in #3400
- Fix: Disabled collaborators link when user has no role on project by @Mikehrn in #3415
- fix(fe2): Add workspace name to workspace page title by @andrewwallacespeckle in #3410
- feat(server): multi region module base w/ a test (mocked) mutation by @fabis94 in #3406
- feat(server/multi region config): mount file and read config from file by @iainsproat in #3407
- Fix: Uppercase keyboard shortcuts by @benjaminvo in #3403
- Pen View Selection While Sectioning Fix by @AlexandruPopovici in #3409
- fix(ci): use large resource class in publish viewer sandbox job by @iainsproat in #3416
- gergo/web 2047 user joins the workspace event by @gjedlicska in #3412
- test: fix flaky tests by @gjedlicska in #3422
- Relative Offset Box Fix by @AlexandruPopovici in #3419
- Fileimport Ioc 3 parser by @alemagio in #3402
- SSO by @cdriesler in #3376
- fix(frontend): explorer will now correctly display false prop values as false, rather than null by @didimitrie in #3426
- feat: add & list server regions by @fabis94 in #3423
- Section Box Fix by @AlexandruPopovici in #3428
- feat(projects): add project regions, default to null by @gjedlicska in #3429
- feat(sso): list sso associations by user email by @cdriesler in #3420
- Feat: Remove version limit counters by @Mikehrn in #3424
- refactor(fe2): Send user to dashboard after tour - skip checklist by @andrewwallacespeckle in #3404
- Added Missing Exported Types by @AlexandruPopovici in #3418
- Update README.md to use new repo links by @clairekuang in #3430
- fix: fixes navis props missing from filtering by @didimitrie in #3435
- Update SpeckleCon banner copy by @benjaminvo in #3436
- gergo/gatekeeperFunctions by @gjedlicska in #3414
- chore(helm chart): remove obsolete Makefile by @iainsproat in #3439
- chore(postgres): upgrade to v16.4 by @iainsproat in #3438
- Update README.md by @clairekuang in #3431
- feat(sso): active user sso information by @cdriesler in #3432
- feat: update server region metadata by @fabis94 in #3433
New Contributors
- @adamhathcock made their first contribution in #3300
Full Changelog: 2.21.2...2.22.0