What's Changed
- feat(fileuploads): new upload endpoint populates messages to new job queue by @danielgak in #4702
- preview-frontend-no-outlines by @AlexandruPopovici in #4715
- feat: "workspace" project visibility by @fabis94 in #4704
- Fix: Update PowerBI description by @Mikehrn in #4741
- fix(server): seats sometimes not created on role create by @fabis94 in #4740
- fix(server/auth): handle InviteNotFoundError and simplify handling by @iainsproat in #4727
- fix(automate): set default input values in function input form by @cdriesler in #4728
- chore(deps): dedupe ajv by @cdriesler in #4744
- feat(workspaces): mixpanel update more attributes by @danielgak in #4713
- chore(server): remove unused stream isPublic/isDiscoverable fields by @fabis94 in #4743
- Fix: Copy fixes for private projects by @benjaminvo in #4747
- feat: render different CardImportFileArea variants based on context by @michalspeckle in #4696
- fix(fe): Add available editor seats query to component. refetch on change confirm by @andrewwallacespeckle in #4745
- fix(server): fallback to viewer if no seat found by @fabis94 in #4748
- fix(viewer-lib): Outline opacity is now correctly applied by @AlexandruPopovici in #4751
- fix(server): Remove mailchimp step and journey ids by @andrewwallacespeckle in #4750
- fix(fileimport): nextGen fileimport improvements by @danielgak in #4746
- chore(workspaces): drop legacy
join()
by @cdriesler in #4752 - Fix: Enable grasshopper in connectors by @Mikehrn in #4753
- feat(fe): Add workspace product introduction video by @andrewwallacespeckle in #4754
- fix(helm chart): include license token when gatekeeper module enabled by @iainsproat in #4756
- Feat: Add mixpanel events to getting started video by @Mikehrn in #4757
- Fix: Onboarding redirects by @Mikehrn in #4758
- Oriented Section Tool by @AlexandruPopovici in #4230
- chore(server/logging): do not log requests to Express if logged by Apollo middleware by @iainsproat in #4760
- feat(workspaces): backfill workspace tracking by @danielgak in #4749
- fix(server/workspaces): gracefully handle duplicate workspace join requests by @iainsproat in #4761
- fix(viewer-lib): Fixes WEB-3432 by @AlexandruPopovici in #4763
- feat(workspaces): toggle embedded viewer branding by @cdriesler in #4762
- chore(server): minor log metadata fix and tidy of .env.example files by @iainsproat in #4602
- fix(ratelimiter): do not check rates if rate limiter disabled by @iainsproat in #4050
- Feat: Enable Intercom for in-app support by @benjaminvo in #4640
- feat(workspaces): added GQL fitlering capabilities to activeUser work… by @danielgak in #4739
- feat(fe): sidebar promo banner for specklecon by @andrewwallacespeckle in #4765
- fix(server/billing): better handle incomplete checkout by @iainsproat in #4626
- chore(server/auth): improve error messages by @iainsproat in #4207
- chore(server/logging): email logging should include request or task Id by @iainsproat in #4097
- refactor(workspaces): fixed minor comments by @danielgak in #4764
- Relative depth bias for outlines by @AlexandruPopovici in #4769
- chore: branch -> model in error msg by @fabis94 in #4768
- ci(docker): use registry instead of workspace by @iainsproat in #4766
- fix(fe2): project delete btn not following auth policy by @fabis94 in #4770
- chore(feature flags): defaults all to false, and additional commentary on expected permanence, dependencies, & licensing by @iainsproat in #4124
- chore(server): migrate remaining tests to TS by @fabis94 in #4772
- feat: personal project limits by @fabis94 in #4759
- fix(server): Add user to mailchimp onboarding audience if they are not in it by @andrewwallacespeckle in #4771
- fix(fe): Add canCreateModel check to ProjectDashboardCard empty state by @andrewwallacespeckle in #4776
- Feat: Add option to hide Speckle branding on embed by @Mikehrn in #4777
- Feat: Add embed option to disable title link by @Mikehrn in #4778
- feat(viewer): objectloader2 integration by @AlexandruPopovici in #4267
- feat(workspaces): sort discoverable workspaces by member count by @cdriesler in #4779
- Feat: Add Intercom tracking events by @Mikehrn in #4780
- feat: make specklecon banner dismissable by @andrewwallacespeckle in #4775
- fix(viewer-lib): Loader disposes of the object loader correctly by @AlexandruPopovici in #4783
- Fix: Some intercom improvements by @Mikehrn in #4782
- fix(fe): hide automations tab from workspace guests by @andrewwallacespeckle in #4784
- fix serverDownloader disposal. Correct linting errors by @adamhathcock in #4787
- fix(frontend): typo; loose -> lose by @iainsproat in #4794
- WEB-3473-Microscopic scenes by @AlexandruPopovici in #4781
- Explode + Outlines by @AlexandruPopovici in #4792
- feat(main) objectloader2 should fail faster for missing json by @adamhathcock in #4578
- Chuck/web 3465 auto join discoverable workspace setting by @cdriesler in #4791
- chore(docker compose deps & deployment test): use valkey instead of redis by @iainsproat in #4788
- feat(fe2): proper file upload access checks by @fabis94 in #4785
- feat(embed): expose embed feature access at project level by @cdriesler in #4796
- OL2: add vide coded disposals and tests by @adamhathcock in #4790
- fix(embed): use correct id by @cdriesler in #4798
- Feat: Disable Speckle branding on embeds by @Mikehrn in #4801
- chore(yarn): move postinstall to yarn build:public by @iainsproat in #4793
- feat(fe): Improve domain discoverability by @andrewwallacespeckle in #4789
- feat(full-stack): handle v2 automation result schema in the app by @gjedlicska in #4797
- feat(fileimport-service): add next gen file importer by @gjedlicska in #4697
- docs(README): include additional postinstall instruction in README by @iainsproat in #4804
- fix(fileimports): missing redis url from env vars by @gjedlicska in #4805
- chore(sso): logs related to grant types by @cdriesler in #4806
Full Changelog: 2.24.2...2.25.0