Releases: OpenPipe/ART
v0.5.1
Release Highlights
What's Changed
- Record
auto_metricson trajectory (#440) - Fix ruff formatting (#438)
- Document Qwen3 14B instead of Qwen2.5 14B in non-tutorial examples (#437)
- Small docs change (#433)
- Serverless documentation (#432)
- Retry GET and DELETE (#431)
- Release v0.5.0 (#428)
- Release v0.4.12 (#427)
- feat: Add VLM support (#412)
Full Changelog: v0.5.0...v0.5.1
v0.5.0
v0.4.12
Release Highlights
What's Changed
- Add client-side error capturing (#426)
- Send wandb-artifact:/// prefix as part of inference name. (#425)
- Report serverless metrics (#424)
- feat: Add placeholder _log() implementation for ServerlessBackend (#422)
- Upgrade SkyPilot to 0.10.3.post1 (#421)
- fix: exit the loop in the monitor_openai_server (#418)
- feat: Upgrade Unsloth (#408)
- add playwright agent example to dev/ART (#402)
- feat: Update SkyPilot to 0.10.2 (#393)
- Update training details (#389)
LocalBackend._monitor_openai_serverimprovement (#388)- Add RULER scoring to LG integration example (#385)
- Show open deep research tutorial (#384)
- Minor open deep research doc edits (#383)
- Add deep research tutorial (#382)
- Show GSPO docs page (#381)
- Add MCP•RL doc, remove GSPO (#380)
- Add news item on LangGraph (#379)
gather_trajectory_groups: fusedafter_eachcallback to group await (#378)- Document RULER in README (#376)
- Release v0.4.11 (#374)
- Pin gql verion to fix (#372)
- Update nb links (#371)
- Allow run_checks.sh to succeed on mac (#370)
- Add art.mcp package, release
0.4.10(#369)
Full Changelog: v0.4.11...v0.4.12
v0.4.11
Release Highlights
This patch release includes bug fixes, documentation improvements, and a new MCP package:
New Features
- MCP Package: Added
art.mcppackage for Model Context Protocol integration
Bug Fixes
- Fixed GraphQL dependency compatibility by pinning
gqlpackage to< 4 - Fixed
run_checks.shscript to succeed on macOS
Documentation & Examples
- Updated notebook links and examples
- Improved LangGraph integration documentation
- Better documentation for
wrap_rolloutfunction
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