Releases: OpenPipe/ART
v0.4.11
Release Highlights
This patch release includes bug fixes, documentation improvements, and a new MCP package:
New Features
- MCP Package: Added
art.mcp
package for Model Context Protocol integration
Bug Fixes
- Fixed GraphQL dependency compatibility by pinning
gql
package to< 4
- Fixed
run_checks.sh
script to succeed on macOS
Documentation & Examples
- Updated notebook links and examples
- Improved LangGraph integration documentation
- Better documentation for
wrap_rollout
function
What's Changed
- Add art.mcp package (#369)
- Pin gql version to fix compatibility (#372)
- Allow run_checks.sh to succeed on mac (#370)
- Update nb links (#371)
- Properly document wrap_rollout (#368)
- Update LangGraph docs (#367)
- Link to LangGraph (#365)
- Update LangGraph integration doc (#363)
Full Changelog: v0.4.9...v0.4.11
v0.4.9 - LangGraph Integration
🕸️ LangGraph Integration - Build Smarter Multi-Step Agents
This release introduces seamless integration with LangGraph, enabling you to train sophisticated ReAct-style agents that improve through reinforcement learning without manual prompt engineering.
✨ Major Features
- 🆕 LangGraph Integration - Drop-in replacement for LangGraph's LLM initialization with automatic logging and trajectory capture
- 🔄 Multi-Step Agent Training - Train agents that reason, use tools, and adapt their behavior over time
- 📊 Auto Trajectory Generation - Automatic conversion of LangGraph agent executions into ART training data
- ⚡ RULER Compatibility - Use ART's general-purpose reward function without hand-crafted rewards
🔧 Improvements
- Type Safety - Enhanced type annotations and fixes for LangGraph integration
- Memory Management - Better CUDA cache management and garbage collection utilities
- Dependencies - Pinned litellm to version 1.74.1 for stability
- Code Quality - Refactored logger imports and async tokenizer methods
📚 Documentation & Examples
- New Documentation - Comprehensive LangGraph integration guide with examples
- Updated README - Featured LangGraph integration in main project description
- Example Notebook - ART•E LangGraph notebook for training email search agents
- License Updates - Updated third-party notices and licensing information
🔧 Code Example
import art
from art.langgraph import wrap_rollout, init_chat_model
from langgraph import create_react_agent
@wrap_rollout(model)
async def run_agent(scenario: str) -> art.Trajectory:
agent = create_react_agent(init_chat_model(), tools)
result = await agent.ainvoke({"messages": [("user", scenario)]})
return art.Trajectory() # Automatically captured
# Train with RULER - no reward engineering needed!
await art.train(model, reward_function="ruler")
🔗 Links
v0.4.8
What's Changed
Features
- Improve SkyPilotBackend by @bradhilton in 303279f
- Add integration tests in 696c230
- Add experimental standard deviation learning rate scheduling (#340) in 677d286
- Add preliminary unit testing support in 234cad9
- Add experimental support for truncated importance sampling in 3e71e4e
Bug Fixes
- Add OpenAI-compatible server monitoring with automatic process destruction after failed health check in d85f49b
- Fix tokenization issue in 94cb04c
- Disable v0 LoRA manager patching in 9c2468d
- Remove patch_patch_vllm in 44dbde9
Maintenance
- Update pyright dependency to include nodejs extras in 62f619a
- Update dependencies for Unsloth and Unsloth-Zoo to latest versions in fe526b3
- Various refactoring and code improvements
Full Changelog: v0.4.7...v0.4.8
v0.4.7
v0.4.6
Release Highlights
This patch release focuses on development quality improvements and bug fixes:
- Fixed dependency installation issues: Resolved problems with dependencies not installing properly from git repositories
- Added Pyright type checking: Enhanced code quality with static type analysis
- Improved documentation: Added guidance for starting RL training from existing SFT LoRA adapters
What's Changed
- Fix issues with dependencies not installing from git (#330)
- feat: Add Pyright type checking (#326)
- docs: Show how to start RL from an existing SFT LoRA adapter (#325)
- Add MCP•RL news link (#324)
Full Changelog: v0.4.5...v0.4.6
v0.4.5
Release Highlights
🎯 New Algorithm: GSPO (Group Sequence Policy Optimization) - Introducing the stable and efficient RL algorithm used to train state-of-the-art models like Qwen3-235B-A22B-Instruct-2507. GSPO improves training stability for Mixture-of-Experts models with sequence-level optimization and infrastructure-friendly design.
🚀 Major Performance Improvement: Upgraded to vLLM 0.10.0 with significant startup time improvements due to frozen garbage collection during CUDA graph capture (vLLM PR #21146)
🔧 Enhanced Developer Experience: Improved release workflow with human-curated release notes
What's Changed
- feat: Add GSPO support (#273)
- feat: Upgrade vLLM to v0.10.0 (#302)
- feat: Update Unsloth dependencies to 2025.8.1 and TRL to 0.20.0 (#293)
- Add configurable timeout for vLLM server initialization (#292)
- feat: Explore "Prime Intellect"-style clipping (#295)
- Launch H100-SXM by default (#289)
- Add AutoART notebook (#278)
- Improve release workflow with human-curated notes (#303)
Full Changelog: v0.4.4...v0.4.5
v0.4.4
ART 0.4.4 Release Notes
New Features
- SkyPilot Integration Enhancement: Added SkyPilot extras support for improved cloud deployment
capabilities (#255) - Reward System Improvements: Added experimental support to not scale rewards, providing more
flexibility in reward configuration (#fd2a118)
Documentation & Examples
- New Tutorial: Added temporal-clue-7b.ipynb notebook demonstrating temporal reasoning capabilities
(#a2802b3) - Enhanced Documentation: Updated RULER documentation with comprehensive guidance on combining
rewards (#250) - ART•E Integration: Added ART•E notebook examples to documentation (#242, #240)
Bug Fixes & Improvements
- Dependency Management: Reverted to previous version of gql to resolve compatibility issues (#249)
- Unsloth Integration: Added experimental logprob pre-calculation support for Unsloth services
- Installation Fixes: Improved backend dependency installation when using local ART paths (#241)
- Documentation Updates: Various minor documentation improvements and clarifications
Technical Improvements
- Updated SkyPilot backend installation instructions
- Removed obsolete numpy installation cells from quickstart examples
- Enhanced dependency synchronization
v0.4.3
ART 0.4.3 Release Notes
Breaking Changes
SkyPilot is now an optional dependency. If you use SkyPilotBackend
, you must now install ART with the skypilot extra:
# Before (no longer works)
pip install openpipe-art
# Now required for SkyPilotBackend users
pip install openpipe-art[skypilot]
What's Changed
Dependencies
- Moved SkyPilot dependencies (
semver>=3.0.4
andskypilot==0.9.3
) to an optional dependency group[skypilot]
(#235) - This reduces the default installation size for users who don't need SkyPilot functionality
Documentation Updates
- Updated installation instructions in all relevant documentation:
- Installation + Setup guide
- ART Backend documentation
- Summarizer tutorial
Migration Guide
If you're using SkyPilotBackend
in your code:
# Your existing code doesn't need to change, just update the installation
from art.skypilot import SkyPilotBackend
backend = SkyPilotBackend(...)
Simply install with: pip install openpipe-art[skypilot]
or uv add openpipe-art[skypilot]
Full Changelog
See PR #235 for complete details.
v0.4.2
What's Changed
- Fix client import error by vendoring transformers constants (#232)
- docs: Add comprehensive documentation for additional_histories feature (#231)
- Fix Ruff lint (#229)
- Update 2048 code to use RULER (#228)
- Add RULER notebook for 2048 (#227)
- Add RULER promotional snippet to README (#225)
- Add run_checks.sh script for code quality checks (#224)
- Update README (#223)
- fix python version in art-e (#222)
- ruler docs (#221)
- feat: Decouple vLLM & Unsloth Trainer (#212)
Full Changelog: v0.4.0...v0.4.2
v0.4.1
What's Changed
- Fix client import error by vendoring transformers constants (#232)
- Fix Ruff lint (#229)
- Update 2048 code to use RULER (#228)
- Add RULER notebook for 2048 (#227)
- Add RULER promotional snippet to README (#225)
- Add run_checks.sh script for code quality checks (#224)
- Update README (#223)
- fix python version in art-e (#222)
- ruler docs (#221)
- feat: Decouple vLLM & Unsloth Trainer (#212)
Full Changelog: v0.4.0...v0.4.1