Fixed
- Fixed partial push operations to properly scope to targeted connectors and report accurate pushed counts.
You can now connect to arbitrary MCP (Model Context Protocol) servers as a new connection type.
The new Membrane Electron desktop app includes sign-in functionality, in-app agent, and real connect screen over IPC.
You can now import workspaces directly from another workspace without exporting to a file first.
Added simplified flag to workspace import/export operations for faster processing.
You can now include or exclude connector files during workspace export/import using the includeConnectorFiles toggle.
Added connector cloning functionality and search-then-connect workflow in CLI and kits.
Agent harness sessions now support snapshotting for better debugging capabilities.
Added CRUD API and console UI for custom agent management.
DataSchema now supports numeric enum values in the SDK.
Added DISABLE_SELF_SIGNUP flag to control self-service sign-up access.
Billing UI is now hidden for organizations on the Core plan.
Agent autoscaling behavior has been adjusted for better resource management.
Connection credentials are now stored before state recomputation to ensure connections land in READY state.
Pre-populated connector parameters are now preserved in the connect UI.
Identity fields are now applied before storing connection credentials.
Connect screen now displays real error messages and accepts connectorKey parameter.
Connections no longer get stuck in DISCONNECTING state after disconnect completes.
Universal-mirror fields now sync properly to customized field mappings.
Data link table pages now properly surface loading and error states.
Transform variables now include custom output fields in the console.
You can now view per-connection engine credit breakdown in the Usage section with direct links from Billing to Usage pages
Element exports larger than 6MB are now rejected during workspace import to prevent performance issues
Import archive download URLs are now stored in async request metadata for better tracking
Connector uploads and element imports now use streaming and byte-batching for better performance
Workspace element imports now use batched refresh with server-sent events for improved performance
Console refresh buttons now correctly hit the refresh endpoint instead of reloading the page
External event pulls in slow queue now properly finalize on uncaught exceptions
Connection credentials now refresh properly during pre-flight checks
Fixed workspace element session context filtering in agent operations
Agent turn errors now display correctly in message history
Workspace imports no longer leave orphan universal elements behind
Fixed checkpoint handling during workspace import processes
Organization Workspaces table has been restored on the Manage Organization page
Fixed stale agent prompt navigation issues
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.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.lateEvents option for handling OAuth terminal events that arrive after the popup closes.intent field on CreateIntegrationRequest enables intent-based integration creation.lastUsedAt date.webhookUri to have Membrane forward events to your endpoint./integrations now de-duplicates across sources (workspace, marketplace, hub) so a single integration appears once.@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./connect correctly resolves synthetic integration keys.app-event-trigger subscription lookups are now scoped by tenant.BUILDING.name is no longer required when creating an action.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).
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.
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.
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.
membrane open command now uses platform-user sessions and no longer requires workspace credentials to function.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.
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.
POST /import schema has been modified
Added DISCONNECTING state to connections to make disconnection process more robust and predictable.
ConnectionApiResponse to expose new fields related to connection patchingcredentials 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.
... more changes to support the integration-development skill.
Action listing by intent now properly requires either connectionId or connectionKey parameter.
MCP server no longer exits immediately after startup, ensuring stable operation.
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.
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.
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.
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
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 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.
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.
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.
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.
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.
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.
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
membrane connect command now works consistently with the membrane connection command.PATCH /org-workspaces/{id}/user-settings for updating user workspace settingsChanges 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.