Skip to content

Releases: langbot-app/langbot-plugin-sdk

0.4.6

22 Jun 15:06

Choose a tag to compare

Release langbot-plugin 0.4.6.

0.4.5

19 Jun 14:53
a9632af

Choose a tag to compare

What's Changed

  • fix(entities): add provider_specific_fields to Message / ToolCall / MessageChunk / ToolCallChunk (#83)

    Lets provider-specific metadata round-trip through the message entity layer. Specifically required for Gemini's thought_signature, which must be preserved across tool-call rounds for function calls to work correctly (see langbot-app/LangBot#1899). Optional field defaulting to None → fully backward-compatible.

Full Changelog: 0.4.4...0.4.5

0.4.4

13 Jun 11:59

Choose a tag to compare

feat(runtime): capture per-plugin stderr logs into a ring buffer and expose them via a new GET_PLUGIN_LOGS action, so LangBot can display plugin logger output on the plugin detail page.

0.4.3

13 Jun 04:57

Choose a tag to compare

fix(box/nsjail): correct cgroup v2 detection and drop RLIMIT_AS memory cap

Fixes the nsjail Box backend being unusable inside a private cgroup namespace (Docker/k8s default), which silently killed all uvx/stdio MCP servers with exit 255.

  • _detect_cgroup_v2() now probes the authoritative cgroup.subtree_control write (not just mkdir), correctly detecting the EBUSY no-internal-process case in a private cgroupns.
  • Dropped --rlimit_as from the rlimit fallback: it caps virtual address space and instantly aborts uv/node/Rust/JVM. Memory capping now requires cgroups (host cgroupns) or a container-level mem_limit; safe rlimits (pids/fsize/nofile) are kept.

Containerized nsjail deployments must run the Box container with the host cgroup namespace (--cgroupns=host / compose cgroup: host). See AGENTS.md.

0.5.0a2

10 Jun 17:06

Choose a tag to compare

0.5.0a2 Pre-release
Pre-release

Second alpha of the EBA SDK layer. Merges main (0.4.2) into refactor/eba, so this pre-release now contains both the EBA unified event system and everything from 0.4.x, notably:

  • Box sandbox runtime (lbp box) with Docker / nsjail / E2B backends — required by LangBot's Box subsystem
  • All EBA features from 0.5.0a1 (unified events, common entities, AbstractPlatformAdapter, plugin event wrappers, call_platform_api)

APIs may change before 0.5.0.

0.5.0a1

10 Jun 15:25

Choose a tag to compare

0.5.0a1 Pre-release
Pre-release

Alpha release of the Event-Based Agents (EBA) SDK layer.

  • Unified EBA event system: EBAEvent base + 16 event classes across message.* / feedback.* / group.* / friend.* / bot.* / platform.specific namespaces
  • New common entities: User, UserGroup, UserGroupMember, ChatType, MemberRole
  • New adapter base class AbstractPlatformAdapter with 20+ optional common APIs and NotSupportedError
  • Plugin-side EBA event wrappers and @handler() support for all new events
  • call_platform_api pass-through exposed to plugins

This is a pre-release for the refactor/eba branch; APIs may change before 0.5.0.

0.4.2

09 Jun 13:50

Choose a tag to compare

Stable release 0.4.2.

Highlights

  • Robust plugin dependency installation: precheck (skip already-installed), pip retry on transient failures, post-install verification, and structured DependencyInstallError / DependencyVerificationError (#55)
  • Enhanced plugin scaffold: zh README template + auto GitHub Release workflow on version bump (#68)
  • nsjail container-safe cgroup detection + opt-in cgroup v2 (#69)
  • Essential /dev nodes bound into nsjail sandbox; 30s managed-process start timeout
  • runtime/io handler coverage; protocol documented as JSON-RPC 2.0 (#70)

Full changelog: https://github.com/langbot-app/langbot-plugin-sdk/commits/0.4.2

0.4.2b4

09 Jun 09:23

Choose a tag to compare

0.4.2b4 Pre-release
Pre-release

Beta: raise start_managed_process action timeout to 30s so cold uvx bootstraps (stdio MCP servers) don't get torn down mid-install.

0.4.2b3

09 Jun 08:51

Choose a tag to compare

0.4.2b3 Pre-release
Pre-release

Beta: bind essential /dev nodes (/dev/null etc.) into the nsjail sandbox. Fixes stdio MCP server connection failures under force_global_sandbox (uv glibc/musl detection needs /dev/null).

0.4.2b2

09 Jun 07:45

Choose a tag to compare

0.4.2b2 Pre-release
Pre-release

Beta release.

fix(box): create read-write host_path before nsjail bind-mount.

When a BoxSpec specifies a read-write host_path (e.g. LangBot's MCP shared-workspace staging), start_session previously only created the per-session root/workspace/tmp/home dirs and never the host_path itself. nsjail requires the --bindmount source to exist, so a missing host_path made the command exit 255 with empty stdout/stderr — the SaaS MCP sandbox failure. Now start_session creates the read-write host_path; read-only sources are left untouched.

Verified live on a k3s nsjail box pod: nonexistent host_path went from exit 255 (no output) to exit 0 with the workspace correctly mounted. Includes regression tests.