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 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

This release brings significant enhancements to the Dev Portal's documentation capabilities, API playground experience, and OpenAPI schema handling. Key highlights include new documentation features for tracking content freshness and enabling community contributions, improved UI consistency with a new Typography component, and critical fixes for OpenAPI v3.1 compatibility and schema rendering.

New Features 🎉#

Enhanced Documentation Experience
The Dev Portal now displays "last modified" timestamps on documentation pages, helping users understand content freshness. Additionally, a new "suggest edit" feature enables users to contribute documentation improvements directly from the portal. These features improve documentation transparency and encourage community collaboration. #1208

Typography Component for Consistent Text Rendering
A new Typography component provides standardized text rendering across the Dev Portal. This component ensures consistent typography throughout custom pages and documentation, with configurable prose rendering options. The component defaults to non-prose mode for better control over text presentation. #1218

Improved API Playground User Interface
The API Playground received significant usability improvements, including a streamlined response panel that removes unnecessary tab wrappers and introduces inline syntax highlighting powered by Shiki. The update also refines focus styles on form elements and ensures responses are always visible, creating a more intuitive testing experience. #1198

Bug Fixes 🐛#

Accurate Last Modified Timestamps
Fixed an issue where last modified timestamps could display incorrect dates due to git operations like rebasing or cherry-picking. The system now uses author dates instead of committer dates, ensuring timestamps accurately reflect when changes were originally made. #1215

Robust Font Variable Handling
Resolved styling issues that occurred when font CSS variables were undefined. The Dev Portal now provides default font families (Geist for sans-serif, Playfair Display for serif, and Geist Mono for monospace) ensuring consistent typography even with partial theme configurations. #1216

Full OpenAPI v3.1 Reference Support
Implemented complete support for OpenAPI v3.1's ability to use $ref alongside sibling properties like description and summary. This fix prevents loss of metadata when using schema references and ensures all documentation context is preserved and displayed correctly. #1219

Proper Handling of Falsy Values in Schemas
Fixed a bug where boolean false values were ignored in schema examples and defaults. The system now correctly displays all falsy values, ensuring accurate API documentation for boolean fields. #1222

Complete Schema Description Display
Removed line clamping restrictions on schema parameter descriptions, allowing full documentation to be visible without truncation. This improvement ensures complex schema descriptions are fully accessible to developers. #1221

Enhanced Schema Type Validation
Improved type checking to properly handle array-based type definitions, including nullable schemas defined as ["string", "null"]. This fix prevents misclassification of complex schema types and improves overall schema rendering accuracy. #1220

Dependency Updates 📦#

  • Updated glob from 11.0.2 to 11.0.3 for improved file pattern matching #1211
  • Updated @graphql-codegen/client-preset from 4.8.0 to 4.8.2 for enhanced GraphQL code generation #1213