v1.2
🚀 Release Summary
This release delivers major improvements across routine execution, observability, data models, SDK structure, and OpenAI integration, with a strong focus on reliability, performance, and future agentic workflows.
✅ Resolved Issues
- Fixed placeholder interpolation tracking for improved error logging and observability (#58)
- Made
pylintandpytestrequired (non-optional) dependencies (#54) - Adopted OpenAI Responses API structured outputs (#51)
- Prevented Routine Discovery from generating unused parameters (#46)
- Cleaned up incorrect and inconsistent file path references
✨ New Features
- Chunking for large outputs to prevent CDP timeouts
- More efficient fetch storage, removing unnecessary CDP round-trips
- JS-level parameter interpolation logging to improve routine observability
- Window property monitoring (v1):
- Tracks window properties on navigation and periodically
- Logs value changes and removals with timestamps and URLs
- Non-blocking to avoid disrupting browser sessions
- New routine operations:
- JavaScript Evaluation Operation
- Download Operation
- UI Operations (foundation for UI-driven routines)
- UI data models:
- UI elements
- UI interactions
- Improved interaction collection aligned with new models
🔧 Improvements & Refactors
- Refactored routine execution to operate cleanly at the routine/operation level
- Updated and unified routines, params, operations, and endpoint data models
- Refactored the CDP module
- Added new data utilities
- Improved routine integrity:
- Automatic escaping of quotes when required
- Fixed validation bugs (fully covered by unit tests)
- Updated OpenAI Responses API parsing
- Improved prompts and LM response data models
- Expanded network monitoring support (more file types,
.txtas default response body) - Migrated to GPT-5.1 for faster and more reliable execution
- Verified that Responses API provides sufficient context for extended runtimes
🧪 Developer Experience
- Updated and expanded unit test coverage
- SDK fully refactored to use new data models
- Added a new
quickstart.pythat uses the SDK directly, making SDK testing significantly easier
🛣️ Looking Ahead
Future PRs will focus on: