January 2025 Release Notes
This month, we’re excited to share big updates, starting with Kotlin compatibility for Java SDKs. If you use Kotlin, you can now easily include liblab’s Java SDKs in your projects. We’ve also introduced streaming support for Java SDKs, multiple response type support for Python and TypeScript SDKs, and a new CI/CD integration for Jenkins. These updates simplify SDK management, improve API integration, and help you build better applications faster.
New Releases this Month
- Kotlin Compatibility for Generated Java SDKs ensures seamless integration of liblab's Java SDKs into Kotlin projects, providing better interoperability and speeding up development workflows.
- Streaming Support for Java SDKs enables real-time data processing for applications using LLMs and APIs with streaming capabilities.
- Multiple Response Type Support for Python and TypeScript SDKs simplifies handling APIs with diverse response formats, reducing manual type management and improving compatibility.
- New CI/CD Integration for Jenkins help manage SDKs with end-to-end lifecycle automation, using Jenkins pipelines for SDK generation and publishing.
Kotlin Compatibility for Generated Java SDKs
liblab-generated Java SDKs are now fully compatible with Kotlin projects, making it easy to integrate them into your Kotlin apps without additional setup. This compatibility lets Kotlin developers use liblab’s Java SDKs effortlessly while benefiting from features like null safety and extension functions. By bridging the gap between Java and Kotlin, this enhancement speeds up development and improves workflow for Kotlin-based projects.
Key Features
- Easy Integration: Java SDKs from liblab fit seamlessly into Kotlin projects.
- Better Interoperability: Use Kotlin’s special features like null safety with our Java SDKs.
- Dedicated Documentation: liblab automatically generates dedicated Kotlin documentation on how to use the SDK, listing the available methods and providing code snippets to make integration even easier.
For step-by-step guidance, check out the tutorial on using Java SDKs in Kotlin projects.
Streaming Support for Java SDKs
Streaming support is now available for liblab’s Java SDKs, designed to enhance real-time data processing, particularly for AI-based applications. If you’re working with Large Language Models (LLMs) like ChatGPT, Claude, Llama, or Mistral, you can now receive continuous data streams without waiting for the entire response to load.
Streaming enables faster response times and a smoother user experience, making your applications more interactive and efficient.
Key Features
- SDK generation for LLMs: Generate SDKs for AI models like ChatGPT or Llama.
text/event-stream
Support: Supports streaming for APIs that return thetext/event-stream
content type.
text/event-stream
is supported automatically. For all other endpoints add a simple annotation to your liblab.config.json
file or OpenAPI spec to enable the streaming feature.
This feature reduces response times and improves real-time interaction with AI models, enhancing the developer experience for Java users.
Check out the step-by-step tutorial to set up streaming support for your SDK today. The tutorial features Ollama and Llama 3.1 for local LLM hosting.
Multiple Response Type Support for Python and TypeScript SDKs
The Python and TypeScript SDKs now support multiple response types from possible endpoint status codes. This means the SDKs can handle different response formats from the same API endpoint, eliminating developers' need to manually manage type handling. This ensures smoother integration, reduces development time, and minimizes the risk of errors caused by inconsistent response handling. This improvement also ensures better compatibility with APIs, leading to a more streamlined development experience.
Here’s an example of an OpenAPI definition showing an OpenAPI spec with multiple response types for each possible status code:
/...
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
/...
},
"multipart/form-data": {
/...
},
"text/plain": {
/...
}
}
},
"201": {
"description": "Created response",
"content": {
"application/json": {
/...
},
"image/png": {
/...
}
}
},
/...
Key Features
- Handle Multiple Formats: Python and TypeScript SDKs are now capable of handling all Media Types specified by OpenAPI from a single endpoint.
- Accurate SDK Methods: The SDK matches the OpenAPI spec for each response type.
- Simpler Integration: Integrating with API endpoints that return multiple response types is now easier. No additional configuration or type handling is needed, simplifying your workflow and saving development time.
New CI/CD Integration for Jenkins
Managing SDKs is now easier with Jenkins integration. liblab now supports Jenkins for end-to-end SDK management. Jenkins integration lets liblab customers manage, update, and automate SDK publishing using CI/CD pipelines, creating a complete SDK lifecycle management solution.
Key Features
- End-to-End Management: Automatically generate and publish SDKs to package managers like npm, PyPI, and Maven.
- Up-to-Date Documentation: Take advantage of CI/CD pipelines to ensure your documentation stays synchronized with the latest SDK changes, automatically updating SDK code snippets within your API documentation.
- Release Automation: Trigger SDK updates and publishing when you change your API spec.
Get started with our Jenkins integration guide or check out the CI/CD integration overview page for more details.