github twentyhq/twenty sdk/v2.25.0

4 hours ago

Release notes preview

🌟 Highlights

  • Call kv.get, kv.set, and kv.delete in logic functions to store and retrieve per-app key-value data scoped to the installing workspace. (#23089)
  • defineUninstallLogicFunction runs your cleanup logic before app entities are deleted, while app objects and records are still queryable. (#23227)
  • Server route resolvers can now return a value synchronously to the HTTP caller, unblocking webhook handshakes like Slack's url_verification challenge. (#23233)
  • Set onConnectLogicFunctionUniversalIdentifier on a connection provider manifest to fire a logic function immediately after an OAuth connection succeeds. (#23167)
  • roleUniversalIdentifier on AgentManifest assigns a role to an agent at install time without writing a post-install hook. (#23206)

✨ New features

  • Use kv.get, kv.set, and kv.delete from twenty-sdk/logic-function to read and write key-value pairs scoped to your app and the installing workspace; entries require an APPLICATION_ACCESS token and apps cannot access each other's pairs. (#23089) by @abdulrahmancodes
  • Add onConnectLogicFunctionUniversalIdentifier to your connection provider manifest to trigger a named logic function immediately after an OAuth connection is established for that provider. (#23167) by @abdulrahmancodes
  • Set roleUniversalIdentifier on defineAgent or AgentManifest to declaratively assign a role to your agent at install time, eliminating the need for a manual post-install hook. (#23206) by @abdulrahmancodes
  • Export defineUninstallLogicFunction to register a logic function that runs before your app's entities are deleted on uninstall — the handler can still query app objects and records at that point; failures are best-effort and do not block uninstall. (#23227) by @martmull
  • Server route resolvers can now return a plain object directly to the caller instead of always receiving a queued 202; use this for integrations that require a synchronous response such as Slack's url_verification handshake. (#23233) by @abdulrahmancodes
  • settingsCustomTabFrontComponentUniversalIdentifier is restored on ApplicationManifest; apps can again declare a custom settings tab rendered via a front component, reversing the removal from a prior release. (#23256) by @martmull

💅 Improvements & UX

  • workspace.metadataVersion is now marked deprecated in the GraphQL schema; remove it from workspace queries in your client code. (#23189) by @Weiko

🐛 Bug fixes

  • Installed application icons now display correctly across the workspace UI; logoUrl is fetched properly in the application fragment rather than relying solely on the bootstrap user query. (#23411) by @martmull

🔧 Developer & API

  • A new twenty-sdk env var disables the provider check; useful when running the SDK in environments where provider validation should be skipped. (#23155) by @prastoin
  • Use the new upgrade-application CLI command to roll out app upgrades across workspaces; the admin UI rollout buttons for install-on-all and upgrade-existing have been removed. (#23212) by @martmull
🏗️ Internal changes (8)

🎉 New contributors

Full changelog (20 PRs)

Full Changelog: sdk/v2.23.0...sdk/v2.25.0

Don't miss a new twenty release

NewReleases is sending notifications on new releases.