This release brings significant improvements to the Zuplo Developer Portal, including enhanced theme customization, improved authentication support, and a major navigation system overhaul. The highlight is the new unified navigation configuration that provides more flexibility for customizing your developer portal experience.
Key Highlights#
- Breaking Change: Completely redesigned navigation system with a unified configuration approach
- Enhanced Theme Support: Advanced theme customization with shadcn registry integration
- Azure B2C Authentication: Full support for Azure B2C as an authentication provider
- Improved Mobile Experience: Better navigation rendering on mobile devices
- Security Enhancements: New warnings to prevent accidental secrets exposure
- Better Defaults: Static error pages now enabled by default for optimal hosting
Breaking Changes 🛠#
Navigation Configuration Restructure #1174#
The Dev Portal navigation system has been completely redesigned to provide a
more flexible and consistent configuration experience. The previous separate
properties for topNavigation
, sidebar
, and customPages
have been unified
into a single navigation
array structure.
Migration Required: If you have customized navigation in your Dev Portal, you'll need to update your configuration. See the migration guide for detailed instructions.
New Features 🎉#
Enhanced Theme Support with shadcn Registry #1160#
The Dev Portal now offers more granular theme customization options, including automatic shadcn registry style imports and Google Fonts auto-import capability. A new theme playground helps you test and preview your design changes with live theme invalidation. Learn more about customizing your Dev Portal theme.
Google Tag Manager Integration Example #1161#
Added comprehensive documentation and examples for integrating Google Tag Manager with your Dev Portal, making it easier to implement analytics tracking for your API documentation.
Bug Fixes 🐛#
Azure B2C Authentication Support #1159#
Fixed an issue where Azure B2C was not recognized as a valid authentication
provider. The configuration validation schema now properly includes Azure
B2C-specific fields (clientId
, tenantName
, policyName
, issuer
), enabling
seamless authentication with Azure B2C. See our
authentication setup guide for configuration
details.
Mobile Navigation Rendering #1165#
Resolved an issue where the top-navigation-side
slot wasn't rendering on
mobile devices, ensuring a consistent navigation experience across all device
sizes.
OAuth Callback Route History #1172#
Fixed the OAuth callback flow to prevent the /oauth/callback
route from
remaining in browser history, providing a cleaner user experience by using React
Router's replace
navigation.
Security & Documentation 📚#
Security Warnings for Configuration #1169#
Added important security warnings to prevent accidental exposure of secrets in
Dev Portal configurations. The documentation now clearly states that only
environment variables prefixed with ZUDOKU_PUBLIC_
are exposed to the client.
Documentation Improvements #1117#
Comprehensive documentation updates including grammar corrections, fixed
component names (e.g., ZudokContext
→ ZudokuContext
), and improved code
snippet accuracy across all Dev Portal guides.
Other Improvements 🔄#
Default Expiration for Rolling Keys #1142#
Simplified API key management by removing the explicit expiresOn
field when
rolling keys. The system now automatically uses server-side default expiration
policies, reducing complexity in key management workflows.
Static Error Pages Enabled by Default #1143#
Static HTML error pages for HTTP status codes (404, 500, etc.) are now enabled
by default, providing a better out-of-the-box experience for hosting on
platforms like Vercel, Netlify, and Zuplo. The enableStatusPages
configuration
now defaults to true
.
Dependency Updates 📦#
This release includes various dependency updates to ensure compatibility and security:
- Updated React types (
@types/react
to 19.1.8,@types/react-dom
to 19.1.6) - Upgraded development tools (lint-staged to 16.1.0, vitest to 3.2.2, postcss to 8.5.4)
- Updated core dependencies (yaml to 2.8.0, zustand to 5.0.5, piscina to 5.0.0)
- GraphQL tooling updates (
@graphql-codegen/cli
to 5.0.7)