Releases: RazvanGolan/Kaya
Release list
API Explorer v2.4.1
What's New in 2.4.1
✨ Features
- cURL Import Enhancements: You can now load an exported cURL command directly into the request builder and successfully edit the export.
- Request Content-Type Selection: Added a new option to explicitly choose how to send an HTTP request payload (JSON,
multipart/form-data, orapplication/x-www-form-urlencoded).
🐛 Bug Fixes
- File Uploads Handling: Requests containing at least one
IFormFileare now automatically and correctly sent asmultipart/form-datainstead of JSON. - Complex Query Parameters: Fixed a UI issue where complex query requests were not rendering properly in the input fields.
API Explorer v2.4.0
Features
- Import cURL directly into the request builder.
- Add the
ExcludePathPatternsoption to filter internal endpoints using regex.
Changes
- Breaking change: Removed theme from configuration; If you previously configured a theme value, manually remove that configuration line and use the UI defaults.
Fixes
- Handle explicit casts in path parameters.
gRPC Explorer v1.2.0
Kaya.GrpcExplorer v1.2.0
This release is focused on improving everyday testing flow in the explorer UI, with security-minded local data handling.
Features
Request history
Save and revisit previous requests so you can quickly rerun, compare, and iterate without rebuilding payloads each time. This improves workflow speed and reduces repetitive setup during testing.
Clean and clear examples button
Added clearer example handling and a dedicated clear action, making it easier to reset inputs and test scenarios quickly with less friction.
TTL for local storage
Local saved data now supports time-to-live (TTL), so stored request data automatically expires after a defined period for better security and reduced stale data risk.
Improvements
CSS refactor to variables
Replaced hardcoded style values with CSS variables to improve maintainability, consistency, and future theming flexibility.
🥚 Not everything is documented, click around and you might find something.
API Explorer v2.3.0
What's New
Features
- Request History - A dedicated request history flow to quickly rerun and inspect past requests.
- TTL for Local Storage - Stored UI state and history now support expiration via time-to-live, helping keep local data fresh.
Bug Fixes and Improvements
- Response textarea is now selectable for easier copy/paste workflows.
- Improved generated examples for numeric types such as
ushort. - API Explorer and SignalR Debug now use a single shared theme key.
- Clear values behavior now keeps empty string values (
"") for string fields.
MCP Server v1.0.0
Kaya Mcp Server v1.0.0 - Initial Release
Introducing Kaya.McpServer, a production-ready MCP stdio server that enables MCP hosts to invoke HTTP APIs, gRPC services, and SignalR hubs through Kaya explorers.
What’s included
- HTTP invocation support with method, path, headers, body, and base URL override
- gRPC unary invocation support via Kaya gRPC explorer proxy
- gRPC streaming support:
- stream start
- stream send
- stream events drain
- stream end
- SignalR tooling support:
- hub discovery
- connect and disconnect sessions
- subscribe to events
- invoke hub methods
- drain events
- read session logs
- Environment-based configuration for API base URL, gRPC proxy base URL, and SignalR debug route
- Optional JSON config file support
- .NET tool packaging with command: kaya-mcp
Notes
Kaya.McpServer depends on Kaya.ApiExplorer and Kaya.GrpcExplorer being installed and active in the target app.
API Explorer v2.2.0
Release Notes — v2.2.0
What's New
Data Annotations Support
Model properties decorated with Data Annotations (e.g. [Required], [StringLength], [Range], [EmailAddress]) are now read and surfaced in the UI, giving you validation constraints alongside type information without any extra configuration.
Minimal APIs Support
Kaya API Explorer now discovers and documents endpoints registered with the Minimal APIs pattern (app.MapGet, app.MapPost, etc.), in addition to the existing controller-based discovery. Route parameters, query parameters, and bound body types are all captured automatically.
Cookie Authentication
Cookie-based authentication schemes are now supported alongside the existing Bearer token, API key, and OAuth 2.0 options. You can set a session cookie directly from the explorer UI and it will be sent with subsequent requests.
Multiple Response Codes ([ProducesResponseType])
Endpoints annotated with one or more [ProducesResponseType] attributes now display all declared response codes and their associated types in the documentation, making it clear what callers should expect for success, validation errors, and other outcomes.
Improvements
Nested Parameter Tree View
Request parameters for complex object types are now expanded in an interactive tree view, letting you see (and fill in) nested properties without having to mentally map a flat list back to the model structure.
Clear Examples Button
A new Clear button lets you wipe the auto-generated example values from any request form in one click, so you can start from a blank slate without manually deleting each field.
Improved Type Examples
Auto-generated example values are now more realistic and type-aware — strings get contextual placeholders, numbers respect [Range] bounds when present, and nested objects are populated recursively.
Valid OpenAPI 3.0 Export
The exported OpenAPI spec now fully conforms to the OpenAPI 3.0 specification. Schema references, $ref resolution, nullable flags, and response media types are all emitted correctly, so the output can be imported directly into tools like Postman, Insomnia, or code generators without manual fixes.
gRPC Explorer v1.1.0
What's New
Interactive Streaming Support
This release brings full interactive streaming to the gRPC Explorer UI. All three streaming RPC types — Server Streaming, Client Streaming, and Bidirectional Streaming — now have a dedicated live testing experience powered by Server-Sent Events (SSE).
Live Streaming via SSE
Streaming methods now open a persistent SSE connection between the browser and your server. Responses are pushed to the UI in real time as they arrive from the gRPC service, with no polling and no page refresh required.
Interactive Stream Controls
Each streaming method renders its own control panel with:
- Start Stream — opens the session and, for server-streaming, sends the initial request immediately
- Send Message — available for client-streaming and bidirectional methods; lets you push additional messages into an active stream
- End Stream — gracefully signals the client-side of the stream is complete (completes the request channel)
- Cancel — aborts the stream at any point
Real-Time Stream Log
Every event in a stream is appended to a scrollable log panel with:
- Per-entry timestamps
- Visual indicators for sent messages, received responses, system events, and errors
- Copy-to-clipboard button on each entry
- Live message counter and elapsed-time stats in the status bar
Streaming Session API
Four new endpoints are exposed under the explorer route prefix:
| Endpoint | Method | Purpose |
|---|---|---|
stream/start |
POST | Initiate a new streaming session |
stream/send |
POST | Send a message into an active client/bidi stream |
stream/end |
POST | Half-close the client side of the stream |
stream/events/{sessionId} |
GET | SSE event feed for a session |
Sessions are managed server-side and cleaned up automatically when the SSE connection closes.
Supported RPC Types
| Type | Behavior |
|---|---|
| Server Streaming | Initial request sent on start; responses stream in until the server completes |
| Client Streaming | Stream opened on start; messages sent individually; response delivered on end |
| Bidirectional Streaming | Full duplex — send messages at any time, receive responses as they arrive |
API Explorer v2.1.0
Bug Fixes
- Search filter reset — The search query no longer clears when you click on an endpoint. Previously, expanding an endpoint would trigger a full re-render that wiped the filter state.
Improvements
- Persistent "Try it out" state — Multiple endpoints can now be expanded at the same time. Input values, request bodies, and responses are all preserved when you open or close other endpoints. Previously, expanding any endpoint would rebuild the entire list and lose all typed data.
- Complex form data types — Endpoints with [FromForm] parameters that bind to complex objects (e.g. a class with multiple properties) now render individual input fields for each property, including nested file inputs.
- UI polish — Improved SVG icon colouring, fixed indentation inconsistencies, and various small layout fixes across the explorer.
.NET compatibility
No change — still targets net9.0. No external NuGet dependencies.
🥚 Not everything is documented, click around and you might find something.
gRPC Explorer v1.0.0
🚀 Kaya gRPC Explorer v1.0.0 - Initial Release
Introducing Kaya gRPC Explorer, a lightweight tool for discovering and testing gRPC services with built-in Server Reflection support.
✨ Key Features
- Automatic Service Discovery - Uses gRPC Server Reflection to automatically enumerate services and methods
- All RPC Types Supported - Works with Unary, Server Streaming, Client Streaming, and Bidirectional Streaming
- Interactive Testing - Execute gRPC methods directly from the browser with JSON payloads
- Protobuf Schema Generation - Automatically generates JSON schemas from Protobuf message definitions
- Authentication Support - Configure custom metadata including Bearer tokens and API keys
- Easy Integration - One-line setup in your ASP.NET Core application
🚀 Quick Start
Install
dotnet add package Kaya.GrpcExplorerAdd to Program.cs
using Kaya.GrpcExplorer.Extensions;
builder.Services.AddKayaGrpcExplorer();
// ...
app.UseKayaGrpcExplorer();📦 What's Included
- Service discovery and introspection via Server Reflection
- Interactive web UI for testing methods
- Automatic request and response serialization
- Support for both TLS and plain HTTP/h2c
- Embedded UI with no external dependencies
💎 Get It
Available on NuGet: Kaya.ApiExplorer 1.0.0
API Explorer v2.0.0
Kaya API Explorer v2.0.0 - SignalR Debug Tool Release 🎉
🚀 Major Features
SignalR Debug Tool
A powerful new interactive debugging tool for SignalR hubs with a beautiful, modern UI.
Key Features:
- Hub Connection Management - Connect and disconnect from SignalR hubs with full authentication support (Bearer Token, API Key, OAuth 2.0)
- Method Invocation - Execute hub methods with parameters and see real-time responses
- Event Handler Registration - Register custom event handlers to receive server-sent messages in real-time
- Real-time Logging - Monitor all hub activity including connections, method calls, and incoming events with expandable JSON data
- Interactive Testing - Test your SignalR implementation without writing any client code
- Hub Discovery - Automatically scans and displays all available SignalR hubs and their methods
🔧 Configuration Improvements
Simplified Setup
The configuration API has been streamlined for easier package integration:
Before:
var options = app.Services.GetRequiredService<KayaApiExplorerOptions>();
app.UseKayaApiExplorer(options);Now:
app.UseKayaApiExplorer(); // Automatically retrieves configured optionsSignalR Debug Configuration
builder.Services.AddKayaApiExplorer(options =>
{
options.Middleware.RoutePrefix = "/api-explorer";
options.Middleware.DefaultTheme = "light";
// Enable SignalR debugging (optional)
options.SignalRDebug.Enabled = true;
options.SignalRDebug.RoutePrefix = "/signalr-debug";
});