What's Changed
- feat: seat type selection in invite flows by @fabis94 in #4908
- feat(ci): minor speed up by @danielgak in #4935
- feat: set model name/description on file upload by @fabis94 in #4937
- fix(file importer): add profile:read scope to token by @iainsproat in #4941
- Fix: Temporary fix for members settings by @Mikehrn in #4940
- feat(objects): Improve gql loading logic around limits by @danielgak in #4885
- fix: create model before uploading file by @fabis94 in #4942
- feat(fe): workspace security settings refactor by @andrewwallacespeckle in #4800
- fix(fe2): implicit workspace invite fixes by @fabis94 in #4945
- fix(logging): retain IP addresses in logs by @iainsproat in #4939
- fix(docker compose): add redis url to docker compose environment vari… by @iainsproat in #4946
- fix(fe): workspace members pagination not loading additional pages by @andrewwallacespeckle in #4949
- (OL2) refactor read queue by @adamhathcock in #4948
- feat(server/fileuploads): use a presigned url to upload large files by @iainsproat in #4901
- feat: show historical model uploads by @fabis94 in #4954
- feat(server): web 3485 prevent accounts from creating new workspaces by @gjedlicska in #4913
- fix(fe): Never show users their own viewer activity by @andrewwallacespeckle in #4952
- gergo/web 3616 add auth policy for turning on the exclusive workspace by @gjedlicska in #4956
- refactor: fix pagination with stable resolveKey, use reactive default… by @andrewwallacespeckle in #4951
- feat(file imports): next gen allows multiple file types by @iainsproat in #4953
- Progress for Traversal and Rendering alongside Data loading by @adamhathcock in #4899
- fix(helm chart): include next gen file import secrets in serviceaccount by @iainsproat in #4960
- fix(fe2): fixed model upload validation & bunch of other things by @fabis94 in #4961
- fix(fe): fix lastAdminCheck and update admin cache update by @andrewwallacespeckle in #4962
- feat(fe): Show workspace invitations on onboarding join page by @andrewwallacespeckle in #4958
- fix(fileimport service): health check for next gen importer by @iainsproat in #4963
- Support for duplicate objects by @AlexandruPopovici in #4959
- feat(fe2): enable large file uploads by @fabis94 in #4965
- chore(file import): bump python dependency version by @iainsproat in #4966
- ci(helm chart deployment test): add to GitHub Actions by @danielgak in #4932
- feat(fe): Allow disabling workspace creation for workspace members by @andrewwallacespeckle in #4964
- fix: bump the machine by @danielgak in #4969
- fix(logging): ensure metadata is present in logging context by @iainsproat in #4968
- fix(fileimport service): prevent fatal crash when send results by @iainsproat in #4970
- fix(fileuploads): use the correct DB for tokens by @gjedlicska in #4971
- feat(blobstorage): expire stale pending uploads by @iainsproat in #4900
- chore(dockerfile): increase likelihood of docker layer caching by @danielgak in #4972
- feat: add index on actionType for stream_activity by @danielgak in #4947
- Feat: Fix billing portal link by @Mikehrn in #4975
- feat(file importer): send skp to rhino parser by @iainsproat in #4973
- fix(fe): SSO switch now properly reflects enabled state by @andrewwallacespeckle in #4976
- Fix: Update blender connector text by @Mikehrn in #4978
- fix(fe): Move version dialog overflow issue by @andrewwallacespeckle in #4980
- feat(activity): added user info to checkout_subscription and subscription upgrade by @danielgak in #4967
- fix(gatekeeper): removed duplicated event by @danielgak in #4981
- chore(file imports): metrics for next gen file importer by @iainsproat in #4977
- fix(automate): include selected org when making a function by @cdriesler in #4983
- fix(regions): respect region during project move to workspace by @cdriesler in #4985
- fix(multiregion): make move region job safe for replication by @cdriesler in #4907
- fix(file import): consistently apply time outs and increase default to 30 min by @iainsproat in #4982
- fix(file imports): ensure correct server url is used by parser by @iainsproat in #4987
- fix(regions): fix for flaky move region test by @cdriesler in #4989
- fix(file imports): allow up to 24 hours by default for large files by @iainsproat in #4990
- chore(server): move cursor utils to db helper by @fabis94 in #4988
- (OL2) move files around to make more sense by @adamhathcock in #4950
- fix(server): not firing upload created/processed subs in next gen uploads by @fabis94 in #4991
- fix(server): file upload sub auth checks by @fabis94 in #4992
- chore(codecov): relax default target by @iainsproat in #4986
- fix(server): using project scoped db for fileupload sub handlers by @fabis94 in #4994
- fix(helm chart): correctly set
MAX_OBJECT_SIZE_MB
& fix typo inconnectionCreateTimeoutMillis
by @iainsproat in #4993 - fix(file import): existing gen should have token longer than time limit by @iainsproat in #4996
- feat(server+fe): Implement LimitedWorkspace for PendingWorkspaceCollaborator by @andrewwallacespeckle in #4984
- chore(deps): bump python3-pip package version by @iainsproat in #4997
- fix(server): not emitting seat updated on role add by @fabis94 in #4998
- fix(server/blobstorage): removes ability to overwrite an existing blob on upload by @iainsproat in #4995
- chore(server): no need for two alerts from one log line, log at warn level by @iainsproat in #4999
- chore(server): improved db notif logging for issue troubleshooting by @fabis94 in #5001
- fix(server): externally managed DB connection for notifs by @fabis94 in #5002
- chore: log listen/notify connection strings by @fabis94 in #5006
- fix: making pg LISTEN/NOTIFY skip pool by @fabis94 in #5007
- fix(server): shouldnt use main region config if FF off by @fabis94 in #5009
- fix(server): correctly handle content-disposition by @iainsproat in #5008
- feat(server): dev-only endpoint for monitoring bull queues by @fabis94 in #5000
- feat(activity): add workspace events to activity by @danielgak in #4944
- chore(deps): bump gosu version by @iainsproat in #5010
- fix(server/auth/google): handle error parameter in request query by @iainsproat in #5003
- Fix: Update rhino text by @Mikehrn in #5011
- Fix: Update Cal calender by @Mikehrn in #5014
- fix: avoid workpaces to turn free when susbscription is present by @danielgak in #5015
- chore(server/previews): handle case where project deleted while preview generated by @iainsproat in #4612
- feat(fe2): improved file import error handling by @fabis94 in #5016
- fix(fe2): hide duplicated failed file import jobs by @fabis94 in #5020
- WEB-1717: Text and Shadowcatcher 🛸 blending fix by @AlexandruPopovici in #5023
- chore(server/logging): addn'l metadata for file import error logs by @iainsproat in #5021
- fix(viewer-lib): Section tool no longer moves when hidden or disabled by @AlexandruPopovici in #5024
- chore(server): include token id in auth context by @iainsproat in #5025
- chore(file import service): additional error logging by @iainsproat in #5030
- chore(objectloader): add details to error for fetch by @iainsproat in #5031
- Chore(file-import): Major bump py dependencies for STL and OBJ importers by @JR-Morgan in #5029
- feat(server/fileuploads): remove experimental next gen REST API by @iainsproat in #5034
- fix(fe): show last upload failed in list view by @fabis94 in #5035
- feat(file-import): experimental ifc openshell importer by @JR-Morgan in #5028
- feat(file imports): large file uploads now work on docker compose by @iainsproat in #5037
- feat(gatekeeper): add error log on seat mismatch by @danielgak in #5004
- feat(tokens): create embed-specific tokens by @cdriesler in #5013
- feat(server): add deprecation notice to
/api/file/:fileType/:streamId/:branchName?
by @iainsproat in #5032 - fix(server/fileuploads): longer time out before expiry, from last converted time by @iainsproat in #5039
- fix(embeds): private embed pagination by @cdriesler in #5040
- Feat: Make connectors page public by @Mikehrn in #5043
- fix(ci): deduplicated lint runs by @danielgak in #5045
- fix(embedTokens): use arg by @cdriesler in #5050
- safari fix: TextDecoder needs to be reset near 2 Gigs by @adamhathcock in #5048
- Change and fix BatchingQueue implementation by @adamhathcock in #5044
- chore(deps): bump git version by @danielgak in #5053
- Update Dockerfile by @JR-Morgan in #5054
- feat(activity): moved project roles to activity by @danielgak in #5019
- fix(#5018): avatar can be removed by @danielgak in #5022
- adjust waits and actually save the root last by @adamhathcock in #5056
- fix(embedTokens): return all metadata on embed token create by @cdriesler in #5055
- feat(backgroundjobs): add new background jobs module for file imports by @gjedlicska in #5041
- fix(viewer-lib): Camera planes with no camera animation fix by @AlexandruPopovici in #4836
- fix(server/dockerfile): bump node version to 22 by @iainsproat in #5060
- fix(fe): underline position on tab resize in Horizontal tabs by @andrewwallacespeckle in #5036
- Fix: Update text and heading styles by @Mikehrn in #5063
- Gergo/web 3685 create new standalone python app for speckleifc based parser by @gjedlicska in #5051
- chore(server): migrating fully to ESM by @fabis94 in #5042
- feat(fe2): allow copying file upload error from badge by @fabis94 in #5064
- feat(server/email verification): configurable timeout by @iainsproat in #5061
- chore(server): get rid of duplicate gql TS types by @fabis94 in #5065
- feat(billing): allow tax id collection during checkout by @gjedlicska in #5066
- feat(fe): more accurate download reporting by @fabis94 in #5067
- chore(tokens): small cleanup of error message by @cdriesler in #5068
- feat(ui-components): proper LayoutMenu mount on body support + fixes by @fabis94 in #5069
- feat(activity): cronjob to backfill workspace seats, plans and subcriptions and project acl activity by @danielgak in #5027
- feat(preview-service): re introduce preview service acceptance test by @danielgak in #5049
- Fix: Improve Intercom fetching by @Mikehrn in #5072
- chore(deps): preview service bump @speckle/viewer to 2.25.7 by @iainsproat in #5073
- feat(ifc): bump ifc deps by @JR-Morgan in #5074
- Feat: Remove SpeckleCon banner/workspace explainer code by @Mikehrn in #5071
- fix(preview service): relative import should use alias by @iainsproat in #5075
- Feat: Enable embedding private/workspace projects by @Mikehrn in #5047
- Alex/text updates by @AlexandruPopovici in #5012
- fix(fe): horizontal tabs underline alignment by @andrewwallacespeckle in #5078
- fix(fileimport-service): Bump IFC deps for small by @JR-Morgan in #5080
- Fix: Private embed mixpanel track event and warning by @Mikehrn in #5082
- Fix: Rename embed token by @Mikehrn in #5084
- feat(fe): Support hyperlinks in comments by @andrewwallacespeckle in #5076
- Fix: Dont use cookie for auth token by @Mikehrn in #5086
- Fix: Remove clearToken function by @Mikehrn in #5087
- Feat: Improve private embed alert message by @Mikehrn in #5088
- feat(fe2): improved auth error logging by @fabis94 in #5089
- feat(previews): retry errored previews if feature flag enabled by @iainsproat in #4498
- Feat: Add private embeds to the pricing table by @Mikehrn in #5092
- feat(fe2): more accessible error reference by @fabis94 in #5090
- Feat: Add resource ID to token table by @Mikehrn in #5093
- feat(ci): upload logs on failure by @danielgak in #5097
- chore(server): bump sharp to fix CI by @gjedlicska in #5094
- feat(automate): allow function authors to regenerate function tokens by @cdriesler in #5057
- feat(helm chart): optionally deploy ifc importer service by @iainsproat in #5077
- Fix: Update auth watcher by @Mikehrn in #5100
- feat(server/previews): retry dead preview resurrection if no backpressure by @iainsproat in #5099
- Fix: Update connector labels by @Mikehrn in #5102
- chore(server/errors): add message to error by @iainsproat in #5105
- chore(server/logging): preview resurrector logs database region by @iainsproat in #5104
- chore(server/logging): logging for user deletion issue in prod by @iainsproat in #5106
- feat: a couple of logging improvements by @fabis94 in #5110
- Revert "chore(server/logging): logging for user deletion issue in pro… by @iainsproat in #5109
- feat(ci): deployment will continue on testfailure for test branches by @danielgak in #5107
- fix: getting all user projects on deletion and user filter by @danielgak in #5112
- feat(file_upload): update observability metrics by @danielgak in #5079
- feat(fe): global external-link guard by @andrewwallacespeckle in #5091
- chore(docs): update mermaid diagram by @iainsproat in #5115
- Cache By Reference count by @adamhathcock in #5096
- fix(fe): global external link by @andrewwallacespeckle in #5116
- All BatchedQueues should drain when disposed (also adds query string for output: "debug=true") by @adamhathcock in #5098
- fix(ci): fix code cov noise by @danielgak in #5118
- feat(fe): Allow clickable links in Selection Info panel by @andrewwallacespeckle in #5117
- OL2 (fix) dispose cache as it should by @adamhathcock in #5119
- fix(fe): external link dialog open model by @andrewwallacespeckle in #5120
- Fix: Update Intercom events by @Mikehrn in #5122
- Feat: Delete feedback from delete workspace modal by @Mikehrn in #5113
- feat(fe2): conditional cross origin isolation on viewer page by @fabis94 in #5124
- fix(fe): add role to ProjectModelPageVersionsProjectFragment by @andrewwallacespeckle in #5121
- refactor(fe): update external link dialog button colour by @andrewwallacespeckle in #5125
- OL2 (fix): undefer on write by @adamhathcock in #5127
- Feat: Remove book a demo page by @Mikehrn in #5123
- Revert "fix(ci): deduplicated lint runs (#5045)" by @danielgak in #5126
- refactor(fe): Links in comment updates by @andrewwallacespeckle in #5130
- fix(server): incorrectly dealing w/ different email casing by @fabis94 in #5131
- chore(server): run TS files directly (no compilation) by @fabis94 in #5134
- fix(server): extra fixes for running TS directly by @fabis94 in #5135
- chore(fe+viewer): drop ViewerEvent.Busy and drive loading bar from LoadProgress/LoadComplete by @Mikehrn in #3906
- feat(file uploads): large file uploads API is always available by @iainsproat in #5103
- OL2 (feat): useCache option and flag clean up by @adamhathcock in #5133
- fix(server): object previews, ensure sorting same if no cursor by @iainsproat in #5136
- feat(fileImport): gql mutation for nextGen by @danielgak in #5132
- feat(authPolicies): add demo project as a publicly loadable override by @gjedlicska in #5137
- Feat: Improved workspace switcher by @Mikehrn in #5058
- fix(fe): Members avatar group hydration mismatch by @andrewwallacespeckle in #5139
- fix(fe): Add project menu hydration mismatch by @andrewwallacespeckle in #5138
- fix(.env.example): file import .env requires
REDIS_URL
variable by @iainsproat in #5140 - (fix) debug mode for viewer by @adamhathcock in #5142
- OL2 (feat): dont return or save rawencoding type by @adamhathcock in #5143
- feat(gatekeeper): update stripe checkout session params for anrok by @gjedlicska in #5149
- OL2(fix) Make a returned RawEncoding value return an empty Item instead of a undefined item by @adamhathcock in #5145
- feat(versions): allow markingReceived for versions with a streams:read by @gjedlicska in #5151
- feat(ifc-import-service): integrate the specklepy parser by @gjedlicska in #5147
- fix: codecov by @danielgak in #5150
- feat: drop multiregion ci by @danielgak in #5154
- fix: protect message of activity stream beeing to long by @danielgak in #5146
- ol2(feat) remove dexie dependency by @adamhathcock in #5148
- fix: stripe by @danielgak in #5156
- fix: publish server as latest too on release by @danielgak in #5155
- Snap section box rotation to nearest 15 degrees by @benjaminvo in #5157
- Feat: Support for undo/redo in section tool by @benjaminvo in #5161
- fix(tests): soften flaky test by @cdriesler in #5164
- feat(helm): add the rhino file importer feature flag to the chart by @gjedlicska in #5166
- fix(ifc-importer): need to lock packages by @gjedlicska in #5170
- Better Support for Large Models by @AlexandruPopovici in #5144
Full Changelog: 2.25.7...2.25.8