Zuplo logo

Zuplo Changelog

We release improvements, new features, and fixes daily. Follow along here to see the most important updates.

Summary#

This release brings significant improvements to the Dev Portal, including enhanced authentication documentation, better cross-platform compatibility, and a new API key plugin feature. Key highlights include:

  • Enhanced Authentication Support: Added comprehensive setup guides for 6 major authentication providers
  • Improved Documentation System: Reverted to file-based routing for better performance and added admonition formatting validation
  • Cross-Platform Fixes: Resolved Windows path issues for better developer experience
  • API Key Enhancement: New ability to access user authentication context during API key creation

New Features 🎉#

ApiKeyPlugin Enhancement (#1360) The API key plugin now passes the auth object into the createKey callback, enabling API key services to access user authentication context during key creation. This allows for more sophisticated key generation workflows that can leverage user-specific data and permissions.

Documentation & Development Experience 📚#

Enhanced Authentication Documentation (#1258) Added comprehensive setup guides for integrating the Dev Portal with 6 major authentication providers:

  • Auth0
  • Azure AD
  • Clerk
  • Firebase
  • PingFederate
  • Supabase

Each guide includes step-by-step configuration instructions and best practices. Learn more about authentication setup →

Documentation Cleanup (#1265) General documentation improvements including formatting consistency and clarity enhancements across multiple pages.

Bug Fixes 🐛#

File-Based Routing Restoration (#1341) Reverted to file-based routing for documentation pages with a new serveAllFiles configuration option. This change improves performance and simplifies the documentation serving architecture.

Cross-Platform Path Resolution (#1357) Fixed a critical issue where Windows file paths (using backslashes) were not properly normalized to POSIX format (forward slashes). This ensures the Dev Portal works correctly across all operating systems.

BuildCheck Environment Type (#1356, #1358) Resolved an issue where precompiled components couldn't access environment-specific configurations. The environment type is now properly passed through the build process, enabling correct behavior in different deployment environments.

Template Link Correction (#1355) Fixed broken links in the Dev Portal template and added proper redirects for renamed configuration options to maintain backward compatibility.

Dependency Updates 📦#

Updated various dependencies to their latest versions for improved security and performance:

  • zustand: 5.0.5 → 5.0.6
  • @supabase/supabase-js: 2.50.0 → 2.51.0
  • Shiki syntax highlighting dependencies (5 packages)
  • Build tools: esbuild, fast-glob, ci-info
  • Nx workspace dependencies (4 packages)

This release introduces enhanced debugging capabilities for MCP (Model Context Protocol) servers, implements OAuth protected resource discovery, and improves network reliability with automatic retry mechanisms. Additionally, we've fixed an issue with JWT service expiration times.

New Features 🎉#

MCP Server Handler Debug Mode We've added a debug mode for MCP Server handlers, making it easier to troubleshoot and develop your Model Context Protocol integrations. This enhancement provides better visibility into MCP server operations during development and testing. Learn more about MCP in Zuplo.

OAuth Protected Resource Discovery Implemented support for OAuth RFC 9728's .well-known/oauth-protected-resource endpoint for MCP OAuth flows. This standardized endpoint enables automatic discovery of OAuth-protected resources, simplifying the integration process for MCP-enabled applications. Read our guide on introducing remote MCP servers.

Enhanced Metrics Retry and Error Handling Improved the metrics functionality to automatically retry on network errors and timeouts, providing better resilience for API calls. This enhancement is now used when sending metrics to vector, ensuring more reliable telemetry data collection even during temporary network issues.

Bug Fixes 🐛#

JWT Service Expiration Time Fix Fixed an issue with JWT service expiration time handling and export options. This ensures proper token validation and prevents authentication issues related to incorrect expiration timestamps. For more information on JWT authentication, see our JWT API authentication guide.

This release introduces configurable memory sizing for the MemoryZoneReadThroughCache, improves runtime OpenAPI path handling, and fixes environment variable support for Zudoku dev portals.

New Features 🎉#

  • Configurable memory size for MemoryZoneReadThroughCache - The runtime's MemoryZoneReadThroughCache now supports configurable memory size limits. This enhancement provides developers with greater control over memory allocation for cached data, helping to optimize performance while avoiding out-of-memory errors in memory-constrained environments.

Bug Fixes 🐛#

  • Support for ZUDOKU_PUBLIC_ environment variables - Fixed an issue preventing the use of ZUDOKU_PUBLIC_ prefixed environment variables in Zudoku dev portals. These variables can now be properly exposed to the client-side for use in configuration and React components.

  • Ignore non-method properties on OpenAPI operations - The runtime now properly ignores properties on OpenAPI opertations that are not methods. Perviously this could cause build errors.

This release introduces powerful JWT authentication capabilities with the new JWT service plugin and upstream policy, enhances MCP (Model Context Protocol) support with improved URL pattern handling and custom tools, improves developer portal redirect handling, and includes numerous documentation updates across our policy suite.

New Features 🎉#

  • JWT Service Plugin - Added a new JWT service plugin that enables advanced JWT token generation and management capabilities within Zuplo. This plugin provides developers with tools to create, sign, and manage JWT tokens directly in their API gateway workflows. Learn more about JWT authentication

  • Zuplo JWT Auth Upstream Policy - Introduced a new upstream policy specifically designed for JWT authentication. This policy simplifies the process of securing backend services with JWT tokens, providing seamless integration with existing authentication systems. Read about Policy

  • MCP Spec Support for 2025-06-18 - Updated MCP (Model Context Protocol) support to comply with the latest specification version 2025-06-18, ensuring compatibility with the newest features and improvements in the protocol. Explore MCP Capabilities

  • Enhanced MCP Server Logging - Improved logging capabilities for MCP servers, providing better visibility into server operations and making it easier to debug and monitor MCP-based integrations. Explore MCP Capabilities

  • Multi-Factor Authentication (MFA) Support - Enhanced security with new MFA configuration endpoints and login validation. This includes the ability to enforce MFA at the account level and manage MFA settings through dedicated API endpoints. Read about MFA

Bug Fixes 🐛#

  • MCP URL Path Pattern Unification - Fixed inconsistencies in URL path pattern handling when invoking routes on the gateway, ensuring more reliable routing for MCP-based services.

  • Developer Portal Redirect Issue - Resolved an issue with developer portal redirects that was causing incorrect navigation behavior in certain scenarios. Migrating to the new Zuplo developer portal

  • MCP Schema Defaults Update - Updated the default values for includeOutputSchema and includeStructuredContent to better align with common use cases and improve developer experience.

  • OpenMeter Policy Fix - Resolved issues with the OpenMeter policy to ensure accurate metering and usage tracking for API monetization scenarios.

Documentation 📚#

Comprehensive documentation updates were made across multiple policy configurations to improve clarity and provide better examples.

This release introduces Model Context Protocol (MCP) support for API development, new policies for query parameter manipulation and API metering, enhanced CLI commands, and improvements to console logging in the runtime.

New Features 🎉#

  • Query Parameter to Header Inbound Policy - New policy that allows transforming query parameters into HTTP headers, enabling more flexible request handling and backend compatibility.

  • Model Context Protocol (MCP) Support - Added comprehensive MCP server handler for local editing experience with improved schema validation, URL pattern support, parameter descriptions and examples. MCP enables AI-powered tools to interact with your APIs more effectively.

  • Console Logging Support in Runtime (preview) - Developers can now use console logging directly in the runtime environment, making debugging and monitoring easier during development.

  • OpenMeter Metering Inbound Policy - New integration with OpenMeter for API usage metering, enabling precise tracking and billing of API consumption.

  • Enhanced Prompt Injection Policy - Added "strict" mode with more granular logging capabilities to better protect APIs from prompt injection attacks in AI-powered applications.

  • Improved CLI Commands:

    • New zuplo source command replaces the deprecated zuplo project command
    • Added interactive selection for account, project, and environment values in authenticated commands
    • Environment variables from public vars are now written to .env files for better local development experience

Summary#

This release brings significant improvements to the Dev Portal's usability and consistency. Key highlights include enhanced error messaging for navigation configuration, fixes for code block rendering in the API documentation sidebar, improved UI consistency in the OpenAPI playground, and a major refactoring that standardizes terminology from "page" to "site" throughout the codebase. These updates make the Dev Portal more intuitive for developers configuring their API documentation and provide a smoother experience for API consumers exploring your documentation.

Bug Fixes 🐛#

Fixed Sidecar Embedded Code Blocks#

Fixed an issue where code blocks embedded in the API documentation sidebar were not rendering correctly. The fix removes unnecessary rounded corners and ensures proper embedded behavior for syntax highlighting, creating a cleaner visual presentation that better integrates with the surrounding content. #1224

Improvements 🚀#

Enhanced Navigation Configuration Error Messages#

Improved error messaging when configuring navigation items in the Dev Portal. The enhanced error messages now provide clear guidance when a navigation item points to a missing file, suggesting alternative navigation types like 'link' or 'custom-page' and including a direct link to the configuration documentation. This helps developers quickly identify and resolve configuration issues. #1225

Updated Navigation Documentation#

The navigation configuration documentation has been updated to improve clarity and flexibility. The id field has been renamed to file in examples and type definitions, better reflecting its purpose. Additionally, an optional path property has been added to the NavigationDoc type, and a new "Custom paths" section provides examples for advanced navigation configurations. #1226

OpenAPI Playground UI Improvements#

Enhanced the consistency of the OpenAPI playground interface by standardizing input placeholders across all parameter types. Query parameter inputs now display "Name" placeholders, while value fields consistently show "Value" placeholders. The update also removes redundant wrapper elements and refines the layout of collapsible sections, resulting in a cleaner and more intuitive user interface. #1230

Standardized "Site" Terminology#

Completed a comprehensive refactoring to standardize naming conventions throughout the Dev Portal codebase. All references to "page" have been systematically renamed to "site" to better reflect the scope and context of the configuration. This change affects variable names, prop names, type definitions, configuration keys, and documentation, providing more consistent and intuitive naming across the entire Dev Portal. #1231