Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 0.9.0 (2025-07-21)
[Release Notes](releases/0.9.0.md)


## 0.8.0 (2025-07-09)
[Release Notes](releases/0.8.0.md)

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.8.0
0.9.0
2 changes: 1 addition & 1 deletion cli/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "trainloop-cli"
version = "0.8.0"
version = "0.9.0"
description = "TrainLoop command-line interface"
authors = ["Mason Pierce <masonpierce@trainloop.ai>"]
readme = "README.md"
Expand Down
66 changes: 66 additions & 0 deletions releases/0.9.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
Summary: Major documentation overhaul with comprehensive examples, new upgrade command, enhanced SDK reliability, and critical configuration changes

## TrainLoop Evals v0.9.0

### ⚠️ **BREAKING CHANGES**
- **Configuration Default Changed**: `flush_immediately` now defaults to `true` across all SDKs and config templates
- **Impact**: Data will be written to disk immediately instead of being buffered
- **Why**: Prevents data loss when processes terminate unexpectedly or files are moved/deleted
- **Migration**: If you need the old behavior, explicitly set `flush_immediately: false` in your `trainloop.config.yaml`
- **Affected Components**: All SDK configurations, scaffold templates, and example projects

### 🚀 New Features
- **Upgrade Command**: Added `trainloop upgrade` command for seamless CLI updates via pip
- **Comprehensive Examples**: Added full working examples for Python, TypeScript, and Go with custom metrics and evaluation suites
- **Documentation Site**: Launched complete Docusaurus-based documentation at evals.docs.trainloop.ai
- **Setup Script**: Created unified `./scripts/setup.py` for one-command monorepo setup
- **Standalone Integration Testing**: Added dedicated integration test runner for Python SDK to avoid pytest import conflicts

### 📚 Documentation
- **Complete Rewrite**: Added 50+ documentation pages covering tutorials, guides, and API references
- **Interactive Examples**: Provided runnable code samples for all SDK languages with complete evaluation workflows
- **Architecture Guides**: Detailed explanations of system design, data flow, and component interactions
- **Development Docs**: Comprehensive guides for building from source, testing, and contributing
- **Integration Testing Guide**: Detailed documentation on SDK testing approaches and limitations

### 🛠️ SDK Enhancements
- **TypeScript SDK Import Validation**: Now enforces `collect()` before OpenAI/HTTP library imports with clear error messages
- **Python SDK Integration Tests**: Added standalone test runner to resolve pytest import conflicts
- **Enhanced Host Allowlist**: Expanded allowlist to support more LLM providers across all SDKs
- **Improved Error Messages**: Better guidance when import order is incorrect or SDK initialization fails
- **Type Safety Improvements**: Added `flush_immediately` to TypeScript and Python type definitions

### 🔧 Configuration & Reliability
- **Default Flush Behavior**: All SDKs now default to `flush_immediately: true` for data safety
- **Streamlined Setup**: Single command installs all dependencies across CLI, SDKs, and UI
- **Example Projects**: Each SDK example includes complete evaluation setup with custom metrics and proper configuration
- **Environment Templates**: Added comprehensive .env.example files for quick configuration
- **Enhanced Config Validation**: Better validation and error handling for configuration files

### 📦 Dependency Updates
- **Python SDK**: Updated to latest LLM library versions
- OpenAI: 1.50.0 → 1.97.0
- Anthropic: 0.58.0 → 0.58.2
- LiteLLM: 1.50.0 → 1.56.5
- LangChain integrations and other dependencies updated
- **TypeScript SDK**: Enhanced import detection and validation
- **Go SDK**: Improved configuration handling and host allowlist management

### 🏗️ Infrastructure & CI/CD
- **Automated Documentation Deployment**: GitHub Pages deployment for documentation site
- **Enhanced Testing Pipeline**: Improved CI/CD with standalone integration testing
- **Build System Updates**: Better monorepo management and dependency handling
- **Development Environment**: Improved setup scripts and development workflows

### 🐛 Bug Fixes & Stability
- **TypeScript SDK**: Fixed import order validation, auto-initialization behavior, and type definitions
- **Python SDK**: Resolved integration test failures and import conflicts with pytest
- **Documentation Links**: Corrected GitHub organization capitalization inconsistencies
- **CI Authentication**: Fixed GitHub Actions token authentication for docs deployment
- **Config Type Safety**: Added missing type definitions for flush_immediately across SDK languages

### 🧪 Testing Improvements
- **SDK Integration Testing**: New standalone test runner for Python SDK resolves pytest import conflicts
- **Test Coverage**: Enhanced test coverage for configuration handling and SDK behavior
- **CI Reliability**: Improved test reliability and error reporting in continuous integration
- **Documentation Testing**: Automated testing of documentation builds and deployments
4 changes: 2 additions & 2 deletions runner/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion runner/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "trainloop-studio-runner",
"version": "0.8.0",
"version": "0.9.0",
"private": true,
"description": "Bundled TrainLoop Studio runner",
"bin": {
Expand Down
2 changes: 1 addition & 1 deletion sdk/python/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "trainloop-llm-logging"
version = "0.8.0"
version = "0.9.0"
description = "TrainLoop LLM Logging SDK for data collection"
authors = ["Mason Pierce <masonpierce@trainloop.ai>"]
readme = "README.md"
Expand Down
6 changes: 3 additions & 3 deletions sdk/typescript/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion sdk/typescript/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "trainloop-llm-logging",
"version": "0.8.0",
"version": "0.9.0",
"description": "TrainLoop Evaluations - header-based request tagging and zero-touch collection",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
4 changes: 2 additions & 2 deletions ui/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion ui/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "trainloop-evals",
"private": true,
"version": "0.8.0",
"version": "0.9.0",
"scripts": {
"dev": "next dev",
"build": "next build",
Expand Down
Loading