Releases: GoogleChromeLabs/wpt-gen
Releases · GoogleChromeLabs/wpt-gen
Release list
v0.6.3
v0.6.2
v0.6.1
v0.6.0
What's Changed
- Fix Dependabot ResolutionImpossible errors by syncing Python version and grouping pip updates by @DanielRyanSmith in #477
- Restrict Dependabot pip grouping to direct dependencies to fix transitive upgrade conflicts by @DanielRyanSmith in #483
- chore(deps): bump lxml from 6.0.4 to 6.1.0 by @dependabot[bot] in #479
- chore(deps-dev): bump black from 25.12.0 to 26.3.1 by @dependabot[bot] in #492
- chore: Remove pip-tools and lockfiles to fix Dependabot failures by @DanielRyanSmith in #494
- [Vendoring] Refactor UIProvider to Support Dependency Injection by @szy196 in #461
- [vendoring] Implement LoggingUIProvider for non-interactive execution by @szy196 in #482
- [vendoring] Move WorkflowError to models to decouple imports (#445) by @szy196 in #495
- Replace addlicense Go dependency with Python script by @DanielRyanSmith in #470
- [vendoring] Make WPT path optional for library mode (#446) by @szy196 in #496
- [vendoring] Implement data models and parsers for Markdown report (#447) by @szy196 in #497
- [vendoring] Implement report rendering and Jinja template (#447) by @szy196 in #498
- [vendoring] Integrate report rendering and simplify summary by @szy196 in #499
- [vendoring] Move google-adk to optional dependencies in separate package by @szy196 in #500
- Chore: Upgrade project to Python 3.11 by @szy196 in #503
- [vendoring] Add CI script to verify sync of pyproject.toml files by @szy196 in #501
- docs: move release process to dedicated file and expand it by @DanielRyanSmith in #505
- [vendoring] Implement library-mode exceptions and token bypass logic (#449) by @szy196 in #502
- [vendoring] Expose generate_audit_report programmatic API (#450) by @szy196 in #504
- chore: remove litellm from library dependencies to unblock downstream click conflict by @szy196 in #507
- chore: update litellm to >=1.84.0 to resolve click conflict in chromestatus vendoring by @szy196 in #508
- fix: configure suggestions_only and disable directory inference in library mode by @szy196 in #509
- fix: bypass saving report to file in library mode by @szy196 in #510
- [vendoring] implement remote WPT test fetching in library mode by @szy196 in #513
- [vendoring] bypass cache by default and simplify fetch logging in library mode by @szy196 in #516
- [vendoring] dynamically group worksheet categories and render test suggestions as a flat list by @szy196 in #519
- fix: resolve persistent CI failures with google.cloud namespace package by @szy196 in #522
- docs: add lib/pyproject.toml to release instructions by @szy196 in #521
- chore: bump version to 0.6.0 for release by @szy196 in #520
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's Changed
- style: manual style alignment for support modules and agents by @szy196 in #429
- fix(cli): disable directory inference for
generatecommand by @DanielRyanSmith in #434 - Fix: Remove hardcoded temperature overrides to use provider defaults by @DanielRyanSmith in #438
- style: align tests/ directory with Google Style Guide (#415) by @szy196 in #432
- style: split test_phases.py into phase-specific modules by @szy196 in #441
- fix: add required
max_tokensargument to Anthropic client by @DanielRyanSmith in #436 - Update test generation message by @DanielRyanSmith in #440
- build(deps): force Dependabot to bump python dependency ranges by @DanielRyanSmith in #442
- chore(deps-dev): update pylint requirement from >=3.3.4 to >=4.0.5 by @dependabot[bot] in #456
- chore(deps): update lxml requirement from >=5.2.0 to >=6.0.4 by @dependabot[bot] in #455
- chore(deps-dev): update setuptools requirement from >=82.0.0 to >=82.0.1 by @dependabot[bot] in #454
- chore(deps): update rich requirement from >=14.3.2 to >=15.0.0 by @dependabot[bot] in #458
- chore(deps-dev): update mypy requirement from >=1.19.1 to >=1.20.1 by @dependabot[bot] in #457
- fix(adk): add
anthropic/prefix to bypass Vertex AI routing for Claude models by @DanielRyanSmith in #443 - Add
--spec-urlconvenience flag to major commands by @DanielRyanSmith in #459 - fix: suppress noisy non-text parts warning from google-genai by @DanielRyanSmith in #451
- chore: Setup pip-tools for lockfile dependency management by @DanielRyanSmith in #460
- feat: Add OpenAI model prefix handling in ADK Test Generator by @DanielRyanSmith in #466
- Update OpenAI models and upgrade locked dependencies by @DanielRyanSmith in #467
- Populate spec URLs for
generate-singlewhenweb-feature-idis provided by @DanielRyanSmith in #469 - chore: Switch formatter to Black and align CI lockfile resolution by @DanielRyanSmith in #464
- chore: Bump version to 0.5.0 by @DanielRyanSmith in #463
Full Changelog: v0.4.0...v0.5.0
v0.4.0
v0.3.0
What's Changed
- docs: add comprehensive CLI command reference (#133) by @DanielRyanSmith in #133
- Add
--temperatureflag to control LLM request temperature by @DanielRyanSmith in #142 - Add instructions for using Python virtual environment by @DanielRyanSmith in #143
- feat: Add
--yes-testsflag to automatically accept test suggestions by @DanielRyanSmith in #145 - feat: Add
initcommand for interactive configuration by @DanielRyanSmith in #151 - feat: Add
configcommand to display resolved configuration by @DanielRyanSmith in #152 - feat: Add
doctorcommand for system health checks by @DanielRyanSmith in #153 - feat: Add
list-modelscommand to query available LLM models by @DanielRyanSmith in #154 - feat: Add standalone
auditcommand for gap analysis by @DanielRyanSmith in #155 - feat: migrate from Trafilatura to BeautifulSoup for spec scraping by @DanielRyanSmith in #156
- feat: Implement LLM-driven test correction loop during execution by @DanielRyanSmith in #158
- fix: Pass spec context to generation phase for test writing by @DanielRyanSmith in #157
- feat: Render inline diffs of LLM-corrected tests by @DanielRyanSmith in #159
- feat: reuse print_diff component in evaluation phase by @DanielRyanSmith in #160
- feat: explicitly state config path in wpt-gen config output by @DanielRyanSmith in #168
- feat: dynamically set syntax highlighting for LLM responses based on generated file suffix by @DanielRyanSmith in #170
- Fix: Never store or process
api_keyvalues in configuration files by @DanielRyanSmith in #171 - feat: standardize global configuration directory for wpt-gen by @DanielRyanSmith in #172
- feat: Run LLM test corrections in parallel during execution phase by @DanielRyanSmith in #173
- Consolidate default LLM models into a single constant source of truth by @DanielRyanSmith in #174
- fix: strip hallucinated
.tentativeflags from generated file names by @DanielRyanSmith in #175 - Refactor execution phase and run_test_execution (#165) by @DanielRyanSmith in #176
- feat: allow test generation for draft web-features by @DanielRyanSmith in #179
- feat: Add
wpt-gen config setcommand by @DanielRyanSmith in #180 - feat: make categorized requirements extraction the default by @DanielRyanSmith in #181
- feat: Add model verification to instantiated LLMClients by @DanielRyanSmith in #182
- feat: Support multiple specifications during requirements extraction by @DanielRyanSmith in #183
- fix: correct specification passing in categorized extraction and add clear-cache make target by @DanielRyanSmith in #184
- fix: deep merge nested config properties on load (Resolves #187) by @DanielRyanSmith in #188
- feat: partition test requirements for coverage audit LLM requests by @DanielRyanSmith in #189
- feat: add --wpt-path option to init command (Resolves #185) by @DanielRyanSmith in #190
- feat: Handle token limit exceeded in coverage audit phase by @DanielRyanSmith in #192
- docs: update README with init, make commands, and accurate workflow phases by @DanielRyanSmith in #194
- feat: Add flag to skip execution phase in the generate workflow by @DanielRyanSmith in #198
- docs: Document the
wpt-gen generateWorkflow Phases by @DanielRyanSmith in #199 - docs: Update style guides with rules on timers, timeouts, and state cleanup by @DanielRyanSmith in #200
- Fix: Ensure trailing newline in all generated test files by @DanielRyanSmith in #201
- fix: proactively remove trailing whitespace from generated tests by @DanielRyanSmith in #204
- feat: integrate ./wpt lint into evaluation phase by @DanielRyanSmith in #206
- fix: correct overall status calculation in coverage audit by @DanielRyanSmith in #207
- Fix evaluation phase linting to be per-file and grouped by file tag by @DanielRyanSmith in #208
- Style evaluation phase linting output by @DanielRyanSmith in #209
- fix: Handle multi-file blocks during single-file lint correction and improve test coverage by @DanielRyanSmith in #210
- fix: dynamically reference requirement categories and fix evaluation lint message by @DanielRyanSmith in #211
- fix: Variable test execution timeout in wpt-gen generate workflow by @DanielRyanSmith in #213
- docs: remove references to Python (.py) wdspec tests from style guide by @DanielRyanSmith in #214
- chore: Bump project version to 0.2.0 by @DanielRyanSmith in #215
- docs: update test format and boilerplate rules in style guide by @DanielRyanSmith in #218
- Fix #220: Programmatically Ensure testharness.js Imports in Generated HTML Non-Reftests by @DanielRyanSmith in #222
- Fix: Stream wpt run logs in real-time (Partial #221) by @DanielRyanSmith in #224
- Fix broken Mermaid diagram in README.md by @szy196 in #226
- Refactor: Combine ensure_trailing_newline and strip_trailing_whitespace helpers by @DanielRyanSmith in #227
- Fix #223: Prevent LLM from modifying requirement comments during self-correction by @DanielRyanSmith in #228
- fix: update prompts to handle undocumented browser features by @DanielRyanSmith in #229
- Fix #231: Resolve path error for ./wpt lint with relative --output-dir by @DanielRyanSmith in #232
- feat: Add Cache Bypass Flag for Non-Interactive Automation by @DanielRyanSmith in #236
- feat: Add --binary flag for custom browser executables by @DanielRyanSmith in #237
- Adding requirement extraction for chromestatus by @szy196 in #242
- Adding coverage audit for chromestatus by @szy196 in #243
- feat: Add observability tracer for LLM interactions by @DanielRyanSmith in #244
- Remove strict requirement comment preservation checks from test generation by @DanielRyanSmith in #250
- feat: Explicit Workflow Phase Resumption and State Checkpointing by @DanielRyanSmith in #249
- fix: Preserve internal spec links during HTML-to-Markdown conversion by @DanielRyanSmith in #251
- Fix orphaned browser processes on execution timeout by @DanielRyanSmith in #252
- feat: Add --wf-yml-update flag to automate WEB_FEATURES.yml updates by @DanielRyanSmith in #257
- feat: implement Git-based File Retrieval Utility for Test Filtering by @DanielRyanSmith in #261
- feat: add new CLI flag for simplified test suggestions by @DanielRyanSmith in #263
- fix: halt workflow after coverage audit for --brief-suggestions by @DanielRyanSmith in #264
- feat: include spec_urls in test suggestions for brief-suggestions by @DanielRyanSmith in #265
- Formatting: Parse XML tags in --brief-suggestions console output by @DanielRyanSmith in #267
- feat: Add Configuration and Pipeline Orchestration for Agentic Generation by @DanielRyanSmith in #272
- feat: Implement Gemini CLI Subprocess ...
v0.1.0 - Initial PyPI Release
Release v0.1.0
This is the initial release of WPT-Gen, an agentic CLI tool designed to automate the creation of Web Platform Tests (WPT) using Large Language Models.
⚠️ Project Status: Early Development
Please note that WPT-Gen is currently in an early alpha stage. While the core functionality is present, the tool is undergoing active development. Users should expect frequent updates, potential breaking changes, and ongoing refinements to the generation logic.
Core Functionality
- Spec Analysis: Scrapes W3C specifications to identify testable normative requirements.
- Coverage Audit: Scans local WPT directories to identify gaps in existing test coverage.
- Test Generation: Generates Web Platform Tests based on identified requirements.
- Evaluation: Performs automated reviews of generated tests to ensure alignment with WPT standards.
- Provider Support: Integrated with Google GenAI, OpenAI, and Anthropic LLMs.
Installation
pip install wpt-genLicense
Licensed under the Apache-2.0 License.