Version Packages - #1503
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
August 20, 2026 20:07
4c951e9 to
cfd3a9e
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
August 21, 2026 11:07
cfd3a9e to
a28085d
Compare
Chase J (chajac)
approved these changes
Aug 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@qawolf/cli@1.13.0
Minor Changes
2def6d5: Map nested contract inputs to CLI flags.
A generated command now derives one flag for each leaf of a nested object, for example
--metadata-commit-shaformetadata.commitSha. The command reassembles the flag values into the nested input before it validates and sends the request.A union of object branches no longer requires a shared literal discriminator. A field that every branch requires stays a required flag. The other fields become optional flags. The contract validates the assembled input locally before the CLI sends a request. Branches that are strict objects reject an invocation that mixes branches.
The command build fails with a clear error when two fields produce the same flag name, or when union branches disagree on the schema of a shared field.
3dec60a: The
qawolf runnergroup speaks@qawolf/api-contracts0.27.0, gains four commands, and ships a run's files by walking the flow's imports instead of reading the whole directory.qawolf runner runnow sends the flow file, everything it imports, and yourpackage.jsonandtsconfig.json. Nothing else travels. Before this change it read every runnable file under the working directory, so on a project of a few thousand files it built a payload the platform refused on size and the run never started; you had to run from a directory holding the flow and little else. Imports are followed the way a run from the QA Wolf app follows them, including its limits: relative paths andtsconfig.jsonaliases, resolving.tsand.js, and not followingexport ... fromorrequire().After the first run on a runner, later runs send only the files whose content changed. The baseline lives in
.qawolf/runner-files.json. A switch to another runner ignores it, a runner that turns out not to hold what was claimed gets the whole set resent, and--jsonreports which happened asfileSync.qawolf runner run --lines 12-40runs those lines against the browser as it stands, so you can iterate on one step without paying for the whole flow to reach it again.--lines-filesays where the range lives when it is not the flow file, and the positional is now<flowFile>in the usage line because two file paths with one unlabelled is easy to get backwards.--env-filegives the run environment variables from a dotenv file, in the formatqawolf flows pullwrites.qawolf runner inspectreads one thing off the live page and prints it on stdout by itself:element-html --selector,page-html, orvariable --name, which is a shorter path to a value than printing it from a snippet and reading it back out of theconsolestream.qawolf runner stop-runstops what a runner is executing and leaves the runner up.qawolf runner import-packageinstalls a package into a live run so a snippet or a selection can import it without a full run to reinstall dependencies.Two breaking changes to the
runnergroup.qawolf runner stopis nowqawolf runner terminate, which better separates ending a runner from stopping a run on one. And--nametakes a runner family,playwright,android,iosorbasic, in place of an image name likenode20WithPlaywright. Every runner verb also reports a failure as anoutcomeoffailurewith afailureReason, in place of one outcome per condition, so--jsonconsumers readingoutcomefor a specific condition need to readfailureReasoninstead.Patch Changes
7b9e665: The managed runtime can now load
expect-webdriverio.The runtime installs its packages with
--legacy-peer-deps, which does not install peer dependencies.expect-webdriverioneedswebdriverio,@wdio/globalsand@wdio/loggeras peers, and the runtime had none of them. An import ofexpect-webdriveriostopped withERR_MODULE_NOT_FOUND. The runtime now installs these three packages.This does not yet make
expectavailable in an Android flow. The runner does not start the mobileexpect, so a flow that callsexpectcontinues to fail. This change removes one of the two causes.