Version 0.7: Real-World Integration & Single Crate - Implementation Plan
December 30, 2025 · View on GitHub
Status: ✅ COMPLETE (Final release: v0.7.2)
Goal: Consolidate architecture and implement critical features for real-world integration to validate v1.0 readiness.
Releases:
- v0.7.0: Single Crate Architecture (2025-11-16)
- v0.7.1: Script & Style Injection APIs (2025-12-24) - Community contribution
- v0.7.2: Community Features & Fixes (2025-12-24) - Storage state, debugging, logging
Note: Version closed early. Community contribution (PR #8 - Typed Evaluate API) warranted minor version bump to v0.8.0. Remaining items moved to v0.8 Implementation Plan.
Related:
Vertical Slices
Slice 1: Consolidation (v0.7.0)
Goal: Merge playwright-core functionality into playwright and publish.
Motivation: Issue #3 discovered during Folio integration revealed fundamental complexity in two-crate split. All official Playwright implementations use single packages.
Key Deliverables:
- Move
playwright-corecode intoplaywrightcrate - Update dependencies and build scripts
- Verify all tests pass in single-crate structure
- Publish
playwright-rsv0.7.0 - Publish
playwright-corev0.6.2 with deprecation notice - Update documentation to reflect single-crate usage
Technical Decisions:
- Kept
playwright-coreas a shell for deprecation/redirect. - Updated
driverhandling to be internal to the main crate.
Slice 2: Script & Style Injection APIs (v0.7.1)
Status: ✅ COMPLETE (2025-12-24)
Goal: Add script and style injection capabilities to pages and contexts.
Key Deliverables:
-
BrowserContext.add_init_script()- Context-level script injection -
Page.add_init_script()- Page-level script injection -
Page.add_style_tag()- CSS injection with full Playwright API compatibility -
AddStyleTagOptionsstruct with builder pattern (content, url, path) - Cross-browser test coverage (Chromium, Firefox, WebKit)
- Error case testing
- Published as v0.7.1
Technical Decisions:
- Used options struct with builder pattern (matches existing codebase conventions)
- Added file path support (bonus feature beyond original PR)
- Comprehensive validation with clear error messages
Community Credit:
- Original implementation by @douglasob (PR #7)
- Code review and enhancements by maintainers
Slice 3: Community Features & Fixes (v0.7.2)
Status: ✅ COMPLETE (2025-12-24)
Goal: Address community-reported issues for storage state, debugging, and logging.
Key Deliverables:
- Storage State Support (Issue #6)
BrowserContextOptions::storage_state()for inline StorageStateBrowserContextOptions::storage_state_path()for JSON file loading- New types:
Cookie,LocalStorageItem,Origin,StorageState - Async file reading with proper error handling
- Cross-browser compatibility (Chromium, Firefox, WebKit)
- Debugging Support (Issue #5)
Page::pause()method for manual debugging with Playwright InspectorBrowserContext::pause()protocol support
- Logging Improvements (Issue #4)
- Consistent tracing initialization across all integration tests
- Protocol error visibility improvements
- Better debugging experience during test development
Technical Decisions:
- Storage state file reading happens in
Browser::new_context_with_optionsbefore serialization (matches playwright-python) - Builder methods are mutually exclusive (setting inline clears path, vice versa)
- Used
#[serde(rename_all = "camelCase")]for automatic field name conversion - Protocol serialization fixed for methods with no arguments
Community Credit:
- Issues reported and discussed by: @cbmarc, @SergeyBibikov
Deferred Items
The following planned slices were not implemented in v0.7 and have been moved to Version 0.8:
- Slice 4: Remote Connection -
BrowserType::connect()for CI/CD environments - Slice 5: Critical Feature Gaps - Locator API audit, WebSocket event handling
- Slice 6: API Polish & DX - FilePayload, BrowserContext options, Route API improvements
Rationale: Community contribution PR #8 (Typed Evaluate API) was significant enough to warrant closing v0.7 at v0.7.2 and bumping to v0.8.0. The remaining real-world integration features continue in v0.8.
Last Updated: 2025-12-30