External event subscription field rename.webhookUri on BaseExternalEventSubscription is now the outgoing delivery URL for per-subscription webhooks. The incoming Membrane URL (the previous meaning of webhookUri) has moved to a new read-only incomingWebhookUri field. If you currently read subscription.webhookUri to get the Membrane-hosted endpoint, switch to subscription.incomingWebhookUri.
Added
You can now scope allowMultipleConnections to a specific connectorId or externalAppId for finer control over connection reuse.
ActionRun objects now include an action snapshot field that preserves the action definition at execution time.
New lateEvents option for handling OAuth terminal events that arrive after the popup closes.
New intent field on CreateIntegrationRequest enables intent-based integration creation.
Integration CRUD tools are now available in the developer MCP kit.
New per-side (hub / instance) client-token management endpoints and a matching MCP configuration tool.
Client tokens now record and expose a lastUsedAt date.
External Event Types can now be defined independently of a connector.
Per-subscription outgoing webhook delivery — set the new writable webhookUri to have Membrane forward events to your endpoint.
Auto-generated integrations can now be materialized with synthetic keys, so you can act on them like any other integration.
Workspace exports can now be validated before importing.
Search actions by integration key.
/integrations now de-duplicates across sources (workspace, marketplace, hub) so a single integration appears once.
Element-import async request metadata now includes the archive download URL.
Changed
@membranehq/react styling internals fully migrated from Panda CSS to Tailwind v3 + tailwind-variants. Visual parity preserved. The @pandacss/* peer dependencies are gone. If you override styles by targeting Panda-generated class names, those selectors will need to be updated.
ActionRun API restructured. The old POST /actions/:selector/run endpoint and top-level ActionRun fields are deprecated.
Client-token management is now split between hub and instance scopes.
File-backed read operations now no-op (instead of throwing) on fileless connectors.
User-facing labels aligned to "Internal Event" terminology across the SDK.
Element imports larger than 6 MB are now rejected explicitly instead of failing opaquely.
Connector-published webhook payload slimmed to drop unused fields.
Flow launch now short-circuits cleanly on throttle and config errors instead of retrying noisily.
Fixed
Condition operand picker now stays editable for read-only variables.
Remote-repository connectors are now usable end-to-end.
Workspace import: orphan universal elements no longer left behind, and checkpoints work correctly mid-import.
Workspace element counts no longer inflated by deactivated records.
app-event-trigger subscription lookups are now scoped by tenant.
Clearer error message when running an action whose status is still BUILDING.
name is no longer required when creating an action.
CORS cookie origin now accepts any localhost port (dev experience).
Client-action descriptions now name the integration.
Platform 2026-04-30
Added
Self-hosted instances now have an experimental "Remote repository" setting that enables access to public connectors and actions from Membrane Universe.
Intent-based integration management: similar to connections and actions, you can now create and update integrations using intent field instead of structured configuration.
development and app-use MCP servers were completely revamped and now make agents much smarter at building and using integrations.
Infinite integrations will be enabled by default starting tomorrow (May 1).
Searching actions by intent can now be done in integration, connector, or external app contexts (additionally to connection context before)
allowMultipleConnections expanded to support connectorId and externalAppId parameters.
Developer tokens and tenant tokens now track last-used date for better usage insights.
Experimental: connector-independent External Event Types with direct webhook delivery (without creating flows).
Changed
Many UX improvements in agentic connection UI.
Membrane Agent now fetches live workspace elements for more accurate context.
Proxy authentication option moved to the top of connection options for better visibility and simpler default flow.
ActionRun now includes action snapshot data for improved debugging.
Integration parameter validation only occurs when parameters are provided. If integration parameters are not provided, they will be asked during connection process.
Fixed
Content-hash client entry prevents 404 errors on stale HTML during deployments.
Clearer error messages when attempting to run actions in BUILDING state.
Action creation no longer requires a name parameter.
Embed and isolated-embed flow editor functionality restored.
Workspace element context now properly included in agent prompts.
Workspace element recalculations now have per-element timeouts to prevent hanging.
Editable sections hidden on synthetic integrations to prevent confusion.
Console now shows toast notifications and warnings when saves fail.
Long unbroken text now wraps properly in connection error modals.
Connection name fallback fixed for external app name in tracking events.
Workspace element counts no longer inflated by deactivated records.
Token-expired errors now properly preserved through auth proxy hub.
Token extraction fixed for /screens/* endpoints from flat body structure.
Code-mode deletions now properly honored when saving in console.
Flow drafts now preserved across panel navigation.
App-event-trigger subscription lookup now properly scoped by tenant.
Synthetic integration keys now resolve correctly in /connect endpoint.
Connection reuse fixed across retries within popup sessions.
Auth-proxy hub client timeout increased to 2 minutes.
Workspace element recalculations now re-enqueue mid-loop to prevent stalling.
Platform 2026-04-23
Added
Agent tools now include a sandboxed bash environment for executing shell commands
Agent tools restored web fetching capabilities for retrieving web content
Agent tools added file reading capabilities to the agent loop
Web search integration via Perplexity/Sonar for enhanced search capabilities
Auto-generating integrations from public connectors and external apps
POST /act endpoint for executing actions with reference dispatches, inline API calls, and code execution
Developer kit with comprehensive CRUD operations and documentation search
CLI now auto-selects appropriate token scope when creating, updating, or deleting actions
Connection forms now auto-populate agent instructions with connector-specific playbooks
Connection forms now auto-persist edits and support CLI patch operations with SSR pre-fill
"Manage Organizations" button added to workspace selector
User goal capture during onboarding flow
Console now captures PostHog logs and connection error logging
Prototype-without-auth development path with credentials endpoint, CLI support, and MCP tooling
Changed
Console package editor now uses explicit save instead of autosave
Connection editor migrated to snapshot-based editing architecture
Explore overview page redesigned with improved layout
Console editing now spreads code-mode changes into save payload instead of nesting
Action listing by intent now requires connectionId or connectionKey parameter
Enhanced debugging documentation for membrane instances
Documentation migrated to Mintlify platform
Agent now uses Claude Haiku 4.5 for connection-building benchmarks with structural validation
Removed
"Create and build with Agent" buttons removed from interface
In-process code execution path discontinued in favor of sandboxed execution
Reactive code execution fallback disabled
Removed "Add to your product" buttons and pages from the platform interface.
Fixed
Expired client tokens now return 401 status instead of silent 404 errors
Agent inline tools now align with actual API schemas
Authentication workspace and tenant caches properly invalidate after changes
Cookie-based authentication no longer cached from pre-body-parse hooks
Database migration compatibility issues with DocumentDB resolved
Connection save button added to Internal API settings
Flow launches now handle disconnected connections gracefully
Search functionality drops stale hits and heals orphaned index records
Connector parameters no longer incorrectly copied from integration to connection
Code sandbox properly handles trusted files in require() operations
Agent Docker builds now include required kits workspace
Security vulnerabilities addressed by updating Fastify to 5.8.5 and protobufjs to 7.5.5
Fixed an issue where opening a panel in the console would incorrectly trigger the unsaved changes popup.
Fixed aggregation queries for DocumentDB compatibility by properly handling placeholder replacement in the 2026-04-15-1 aggregation.
CLI 1.18.0
Added
membrane workspace prefix for all workspace management commands. This clearly separates workspace tenant vs workspace manager scopes in CLI. All workspace management commands are now prefixed with membrane workspace. Old commands (like membrane pull) keep working as before but are marked as deprecated.
Organized auth: the membrane login command is now the default authentication method for push, pull, and sync operations, providing unified workspace authentication.
Fixed
The membrane open command now uses platform-user sessions and no longer requires workspace credentials to function.
CLI 1.17.1
Added
membrane push --debug writes a debug.zip to the current directory on failure, containing metadata, the serialized error, and the source/target workspace zips — a single artifact you can attach to a support ticket.
connection patch command for writing connectorParameters, input, or credentials to an existing connection.
API Contract 1.12
Added
New endpoint POST /act for executing reusable actions, inline API requests, or custom code.
New endpoint POST /connections/{elementSelector}/refresh for triggering backend connection refreshes
Parameter connectionKey added to all connection-related endpoints for stable connection identification
Parameter status added to GET /external-event-subscriptions
GET /integrations endpoint now supports dynamic generation of integrations based on connectors, external apps, and web search (experimental).
connectorParameters and input are now retrievable for connections by tenant.
Changed
POST /import schema has been modified
Added DISCONNECTING state to connections to make disconnection process more robust and predictable.
SDK 0.28.3
Added
Modified ConnectionApiResponse to expose new fields related to connection patching
CLI 1.17.0
Added
credentials command for simple management of workspace credentials
token command for minting Membrane Tokens
Actions CRUD now automatically selects token scope (tenant or workspace manager) based on whether action has connection.
Action listing by intent now properly requires either connectionId or connectionKey parameter.
MCP server no longer exits immediately after startup, ensuring stable operation.
SDK 0.28.2
Added
New types to support the new CLI release.
Platform 2026-04-16
Major Updates
Membrane dashboard was fully re-designed to simplify understanding of your workspace.
It is now possible to connect any app (including ones found in the web or just typed-in by you) right from the dashboard.
Management of your connected software was refactored and simplified.
Added agent onboarding guides for Claude Code, Codex, Cursor, Copilot, and Windsurf
Agentic Connection UI underwent many improvement based on usage feedback.
Self-hosted auth no longer depends on Auth0 or any other external services.
Added
Connections now have key and can be identified in code-friendly way.
Added workspace instance name display in workspace general setting.
Added support for tenantKey in client JWT tokens (to replace deprecated id)
Added flowRunsQueueSizePerConnection to workspace limits configuration
Code sandbox jobs are now automatically re-routed when runners are over capacity - it will improve latency in some cases.
Changed
External apps are now sorted by popularity in the interface
Connections now start in a disconnected state until successfully authenticated. This only affects behavior of the new connected field and doesn't affect the old/deprecated disconnected field.
Connector versioning now auto-determines latest version by semantic versioning on publish.
Custom code now handles large inputs in batches with out-of-memory protection.
Base64 encoding is now applied to Buffers in custom code JSON output - it should speed up data transfer for large custom code jobs.
Fixed
OAuth loopback redirect URIs now support any port number per RFC 8252 standards
Connection refresh button in the console now triggers a backend refresh of the connection
Auth Proxies admin link now appears correctly on self-hosted installations
Unsupported event types now show proper error messages instead of crashing
Flow run errors from individual nodes now properly propagate to the overall flow run
OAuth consent page now properly displays tenant dropdown options
Workspace logo and app icon components now include fallback image handling
Connection refresh attempts no longer cause authentication errors when retrying disconnected connections
Schedule triggers no longer fire multiple times due to duplicate node schedules
Organization invitation acceptance is now idempotent instead of failing silently
Expert tasks route now displays properly under the activity section
External app are now marked as connected immediately after connection creation.
Connection building agent sessions now receive complete context information
Archived connectors are now properly excluded from workspace exports
Rate-limited event pulls are now handled proactively with proper backoff strategies
Queued runs are now properly stopped for misconfigured and disconnected connections
CLI 1.16.2
Fixed
Fixed a crash caused by missing exports in the CLI package.
Fixed login flow to use the correct API URI when authenticating.
Fixed internal dependency version pinning to ensure stable package installations.
CLI 1.16.0
Added
CLI telemetry events now include organization group information to provide better usage analytics.
Connector token types are now differentiated per MCP type with JWT claims containing settings information.
Fixed
Workspace imports now use UUID-only matching to prevent import conflicts and improve reliability.
Note: This change may affect workspaces where elements have different UUIDs across environments. Before pushing, pull from the target workspace first so you can revert if elements don't match as expected.
Archive file paths now use connector UUIDs instead of names to prevent key collisions when multiple connectors have the same name.
API Contract 1.11
Added
Field usage (number) added to AgentSessionDto to track session usage metrics
Field archivedAt (string) added to ConnectorDto to indicate when a connector was archived
Is is not possible to edit isReadOnly field when updating org-workspaces.
CLI 1.15.1
Changed
feat(cli): add --clientName flag to login for signup source tracking
CLI 1.15.0
Changed
Login flow now uses a simplified single-mode authentication architecture for improved reliability - no more --tenant parameter (it's silently ignored).
Improved membrane status output.
Platform 2026-04-03
Major Changes
Custom code execution engine was refactored to V8 isolates. It makes it much faster and less resource-consuming.
About 5% of custom code requests use functionality not supported by isolates. They fall back to the previous implementation (sandboxed node.js processes).
If you self-hoste, you can disable the new custom code engine by adding CUSTOM_CODE_RUNNER_DISABLE_IVM env variable. This can act as workaround if you hit features not supported by V8 isolate and fallback doesn't work.
Agentic Connection UI is now used by default instead of "static" connection UI.
Changed
Connection state tracking simplified with clearer connected and error status fields.
Non-agentic connection screens now redirect to the improved agentic flow
Flow descriptions automatically sync between universal and integration-specific versions.
Fixed
Connect buttons now work properly for connectors without named authentication options
OAuth consent page shows helpful messages when revisited after approval
Connection configuration errors clear automatically after successful recovery
Action tabs between universal and integration versions navigate correctly
Console navigation works properly when flow re-runs fail
Actions and elements can no longer be created without required key fields
CLI 1.14.2
Fixed
The membrane connect command now works consistently with the membrane connection command.
API Contract 1.10
Added
New endpoint:PATCH /org-workspaces/{id}/user-settingsfor updating user workspace settings
Changed
Changes in connection API:
connected field on connections that will replace deprecated disconnected field
GET /connections now accepts a connected query parameter for filtering connections by status
Connection errors are now more consistent with the rest of elements:
requestError contains the latest problem with connectivity that made connection disconnected.
errors field has all the errors for connection: requestError and any configuration errors
error field still stays but is deprecated.
SDK 0.28.0
Fixed
Fixed crash when using the SDK in browser environments that don't support CommonJS require() in the error handling code path.
CLI 1.14.1
Fixed
Authentication now properly re-authenticates with tenant scope when using platform-user tokens
Removed unnecessary direct dependency that could cause package conflicts
CLI 1.14.0
Fixed
CLI version is now correctly reported in telemetry data
Non-agentic connection screens now properly redirect users to the agentic flow
CLI 1.13.4
Fixed
OAuth token responses now include the user's email address for proper telemetry tracking