Repository navigation
v1.4.0
Release v1.4.0
Release type: stable
Release line: 1.4.x
Branch: release/1.4.x
Installation
npm install @frontmcp/sdk@1.4.0What's New
CHANGELOG
Features
- Custom Auth UI Support: Introduced the ability to define custom authentication UI components using the
auth.uiconfiguration. This allows developers to tailor the login experience to their specific needs, enhancing user engagement and brand consistency. - Local Authentication Enhancements: Added support for local authentication modes with custom
authenticateverifiers, enabling more flexible and secure user authentication processes. - Consent Mode with Remember Feature: Implemented a consent mode that remembers user tool selections across sessions, streamlining the user experience by reducing repetitive consent prompts.
- Session Secure-Secret Store: Introduced a secure-secret store for managing session-specific secrets, providing a robust mechanism for handling sensitive data without exposing raw secrets.
Improvements
- Browser Compatibility: Enhanced the SDK's compatibility with browser environments by ensuring all core functions are runtime-agnostic, allowing seamless operation across different platforms.
- E2E Testing Configurations: Added comprehensive end-to-end testing configurations for local authentication and performance testing, improving the reliability and robustness of the SDK.
What's Changed
- Cherry-pick: fix(nx): add Nx monorepo support with scaffolding instructions and commands by @github-actions[bot] in #285
- Cherry-pick: test: add E2E tests for session reconnect behavior with terminated session ID by @github-actions[bot] in #287
- Cherry-pick: feat: persist client capabilities in session store for recreation by @github-actions[bot] in #289
- Cherry-pick: fix: enhance type safety by using explicit interfaces in schemas and type checks by @github-actions[bot] in #291
- Cherry-pick: feat: add auto-generated input types for guard configuration schemas and enhance metadata options by @github-actions[bot] in #293
- Cherry-pick: fix: update elicitation support logic to align with MCP spec and enhance type handling (Fixes #279) by @github-actions[bot] in #295
- Cherry-pick: test: add end-to-end tests for elicitation capability round-trip and session state persistence by @github-actions[bot] in #297
- Cherry-pick: fix: improve string escaping in toTsLiteral function for better compatibility by @github-actions[bot] in #299
- Cherry-pick: test: add end-to-end tests for Streamable HTTP Transport session ID and elicitation capabilities by @github-actions[bot] in #301
- Cherry-pick: feat: enhance type safety by extending context classes for agents, jobs, prompts, and resources by @github-actions[bot] in #303
- Cherry-pick: feat(nx-plugin): add git initialization to workspace generator with fallback for missing git by @github-actions[bot] in #305
- Cherry-pick: fix: update session ID retrieval to prefer context session over authinfo by @github-actions[bot] in #307
- Cherry-pick: feat: add SEA build support with reinitialization handling for transport by @github-actions[bot] in #309
- Cherry-pick: refactor: update type definitions and improve scope handling across files by @github-actions[bot] in #312
- Cherry-pick: feat: add skill directory generator and CLI commands for skills management by @github-actions[bot] in #313
- Cherry-pick: chore: update Node.js version requirements and bug fixes by @github-actions[bot] in #315
- Cherry-pick: feat: improve error handling and validation in skills manifest and related files by @github-actions[bot] in #317
- Cherry-pick: Fixes before beta version by @github-actions[bot] in #319
- Cherry-pick: feat: enhance plugin provider handling and add tests for decorator providers by @github-actions[bot] in #321
- Cherry-pick: feat: add examples directory support and update metadata schema in skill files by @github-actions[bot] in #324
- Cherry-pick: feat: add reinitialization support for terminated sessions and improve data injection in weather widget by @github-actions[bot] in #326
- Cherry-pick: feat: implement observability features with OpenTelemetry integration and structured logging support by @github-actions[bot] in #328
- Cherry-pick: feat: implement environment-aware availability filtering for tools, resources, and prompts by @github-actions[bot] in #330
- Cherry-pick: feat: implement skills:// MCP resource templates for skill discovery and content retrieval by @github-actions[bot] in #332
- Cherry-pick: feat: implement health and readiness endpoints with configurable probes and routes by @github-actions[bot] in #334
- Cherry-pick: feat: enhance CLI logging with file transport and verbosity options by @github-actions[bot] in #336
- Cherry-pick: feat: add 'skills read ' command for detailed skill retrieval and enhance skills list command output by @github-actions[bot] in #338
- Cherry-pick: chore: update dependencies to latest versions and rename @frontmcp/cli to frontmcp by @frontegg-david in #342
- feat: implement channel system with various channel types and tools f… by @frontegg-david in #340
- test: add unit tests for extendOutputSchemaForElicitation function to ensure compliance with MCP spec by @frontegg-david in #344
- fix: fix resource update notifications and add related tests by @frontegg-david in #343
- Cherry-pick: feat: add support for format resolution and custom resolvers in OpenAPI adapter by @frontegg-david in #348
- feat: implement authorities module with RBAC/ABAC/ReBAC support and related tools by @frontegg-david in #349
- feat: add distributed deployment adapter and related configuration files by @frontegg-david in #350
- fix: update release notes generation rules for clarity and formatting by @frontegg-david in #351
- feat: add distributed session scaling E2E tests and related configurations by @frontegg-david in #352
- feat: implement background tasks support with task management and execution capabilities by @frontegg-david in #353
- feat: add lazy-zod library with lazy schema construction and related utilities by @frontegg-david in #354
- feat: implement MCPB build target with validation and packaging support by @frontegg-david in #355
- Cherry-pick: fix: normalize internal @frontmcp/* dependency versions to exact release-line by @github-actions[bot] in #357
- Cherry-pick: Fix publish by @github-actions[bot] in #359
- Cherry-pick: feat: normalize internal @frontmcp/* dependency versions to exact rel… by @github-actions[bot] in #361
- Cherry-pick: feat: normalize internal @frontmcp/* dependency versions to exact release-line by @github-actions[bot] in #363
- Cherry-pick: fix: Fix latest 1.1.x reported bugs by @github-actions[bot] in #384
- Cherry-pick: feat: add ExplainCalcPrompt to handle multi-argument prompts and enhance CLI functionality by @github-actions[bot] in #386
- Cherry-pick: feat: switch module format from esnext to commonjs for lambda and vercel adapters to resolve ESM issues by @github-actions[bot] in #388
- feat: add Skilled OpenAPI plugin with skill bundle support and related tools by @frontegg-david in #389
- Enhance skills by @frontegg-david in #390
- fix: update authentication references and improve documentation clarity by @frontegg-david in #391
- Enhance skill catalog by @frontegg-david in #392
- Skill over mcp by @frontegg-david in #393
- feat: add skill audit logging capabilities and enhance telemetry support by @frontegg-david in #394
- Cherry-pick: Enhance docs by @github-actions[bot] in #396
- fix: clarify SkillContext method implementations and error handling by @frontegg-david in #418
- feat: capture caller directory for skill instructions and resources resolution by @frontegg-david in #419
- fix: update skill description constraints to allow non-empty values and accept XML-like tags by @frontegg-david in #420
- fix: Ensure list handlers registration and add EADDRINUSE tests by @frontegg-david in #421
- fix: ensure user providers are registered in the root scope for proper dependency resolution by @frontegg-david in #424
- fix: ensure list handlers are always registered regardless of capability flags by @frontegg-david in #423
- fix: enhance Jest configuration to support .tsx files and colocated unit tests by @frontegg-david in #425
- feat: implement request body limit options for Express host by @frontegg-david in #422
- fix: add regression tests for DEP0190 issue and update spawn command usage by @frontegg-david in #432
- fix: update tool names to snake_case format for consistency by @frontegg-david in #427
- fix: derive execute() input/output types from schemas in tool template by @frontegg-david in #428
- fix: update documentation to reflect folder-per-provider layout and co-located specs by @frontegg-david in #429
- Add command registration and validation for security by @frontegg-david in #434
- feat: add /metrics endpoint with Prometheus support and configuration options by @frontegg-david in #431
- fix: enhance configuration resolution and client snippet generation for frontmcp by @frontegg-david in #430
- fix: rename platform to os and add new availability axes for provider, target, and surface by @frontegg-david in #433
- fix: enhance configuration resolution and client snippet generation for frontmcp by @frontegg-david in #426
- fix: update CLI documentation and add tests for skills commands by @frontegg-david in #437
- feat: add support for project-defined CLI commands in frontmcp by @frontegg-david in #435
- feat: add SQLite support for session and elicitation stores with default path resolution by @frontegg-david in #436
- fix: enhance SQLite error handling and ensure proper resource cleanup by @frontegg-david in #438
- feat: Enhance installation docs and unify filesystem operations by @frontegg-david in #439
- Enhance create-tool-ui documentation and address TypeScript inference by @frontegg-david in #477
- Enhance create-tool documentation and improve widget error handling by @frontegg-david in #478
- feat: implement loopback redirect URI handling per RFC 8252 and add email requirement opt-out for local setups by @frontegg-david in #479
- Upgrade GitHub Actions to latest artifact upload/download versions by @frontegg-david in #480
- feat: add end-to-end tests for stdio transport and ensure no HTTP port is bound by @frontegg-david in #481
- Add end-to-end tests and improve documentation for stdio transport by @frontegg-david in #482
- feat: add end-to-end tests to ensure
frontmcp devhonorstransport.http.pathby @frontegg-david in #483
Full Changelog: v1.0.0...v1.4.0