Skip to content

build(deps): bump qs, @badeball/cypress-cucumber-preprocessor and cypress in /testing/regression - #3358

Open
dependabot[bot] wants to merge 8 commits into
mainfrom
dependabot/npm_and_yarn/testing/regression/multi-2a53ab3042
Open

build(deps): bump qs, @badeball/cypress-cucumber-preprocessor and cypress in /testing/regression#3358
dependabot[bot] wants to merge 8 commits into
mainfrom
dependabot/npm_and_yarn/testing/regression/multi-2a53ab3042

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 22, 2026

Copy link
Copy Markdown
Contributor

Bumps qs to 6.15.2 and updates ancestor dependencies qs, @badeball/cypress-cucumber-preprocessor and cypress. These dependencies need to be updated together.

Updates qs from 6.14.2 to 6.15.2

Changelog

Sourced from qs's changelog.

6.15.2

  • [Fix] stringify: skip null/undefined entries in arrayFormat: 'comma' + encodeValuesOnly instead of crashing in encoder
  • [Fix] stringify: use configured delimiter after charsetSentinel (#555)
  • [Fix] stringify: apply formatter to encoded key under strictNullHandling (#554)
  • [Fix] stringify: skip null/undefined filter-array entries instead of crashing in encoder (#551)
  • [Fix] parse: handle nested bracket groups and add regression tests (#530)
  • [readme] fix grammar (#550)
  • [Dev Deps] update @ljharb/eslint-config
  • [Tests] add regression tests for keys containing percent-encoded bracket text

6.15.1

  • [Fix] parse: parameterLimit: Infinity with throwOnLimitExceeded: true silently drops all parameters
  • [Deps] update @ljharb/eslint-config
  • [Dev Deps] update @ljharb/eslint-config, iconv-lite
  • [Tests] increase coverage

6.15.0

  • [New] parse: add strictMerge option to wrap object/primitive conflicts in an array (#425, #122)
  • [Fix] duplicates option should not apply to bracket notation keys (#514)
Commits
  • 9aca407 v6.15.2
  • 5e33d33 [Dev Deps] update @ljharb/eslint-config
  • 21f80b3 [Fix] stringify: skip null/undefined entries in arrayFormat: 'comma' + `e...
  • a0a81ea [Fix] stringify: use configured delimiter after charsetSentinel
  • e3062f7 [Fix] stringify: apply formatter to encoded key under strictNullHandling
  • 0c180a4 [Fix] stringify: skip null/undefined filter-array entries instead of crashi...
  • 3a8b94a [Tests] add regression tests for keys containing percent-encoded bracket text
  • 96755ab [readme] fix grammar
  • a419ce5 [Fix] parse: handle nested bracket groups and add regression tests
  • 3f5e1c5 v6.15.1
  • Additional commits viewable in compare view

Updates @badeball/cypress-cucumber-preprocessor from 22.0.1 to 24.0.1

Release notes

Sourced from @​badeball/cypress-cucumber-preprocessor's releases.

v24.0.1

  • Update dependency @​cucumber/pretty-formatter to v3.

    • This is not a breaking change, but warrants mentioning because the output is changed stylistically in some ways.
  • Correctly handle edge case related to reload-behavior with run hooks, fixes #1344.

v24.0.0

Breaking changes:

  • Removed support for using browserify as a bundler.

    • Browserify is largely unmaintained at this point and is making it impossible to keep dependencies up-to-date as Browserify itself does not do that. Furthermore, the Browserify bundler is deprecated by Cypress. If you'd still like to use Browserify, you can pin your dependency on @badeball/cypress-cucumber-preprocessor to ~23.x.y.

    • A branch named v23.x.y has been created to continue illustrating how to use Browserify. This is mentioned in the FAQ.

  • Bump node requirement slightly from v20.0.0 to ^20.12.0, ^21.7.0 or >=22.

    • This is in preperation of replacing chalk with util.styleText.

Other changes:

  • Run hooks (BeforeAll/AfterAll) may now be optionally named. This is in line with how cucumber-js behaves.

  • Allow step hooks to return skipped / pending.

    • This is similar to how steps themselves can also return the above mentioned literals. This is in line with how cucumber-js behaves.
  • Attachments (using log(), link() or attach()) can be added in test run hooks (BeforeAll/AfterAll). This is in line with how cucumber-js behaves.

  • Remove use of patch-package in development mode, which was causing some issues, closes #1255.

  • Add rudimentary support for videos in reports (messages & HTML), fixes #1139.

    • This can be enabled by setting attachments.addVideos to true.

    • Videos, as with screenshots, are base64-encoded inline within the reports, making them bigger. I suspect size might be an issue for large attachments and this is why I consider this to be rudimentary to begin with. As issues arise, options to externalize attachments might be considered.

v23.2.1

  • Determine interactive mode correctly, fixes #1323.

v23.2.0

  • Add a flag to turn expectation errors soft. Relates to #1313 and #1222.

    • During creation of message reports, which the JSON & HTML reports are products of, some test state is tracked by this library. This requires taking into account a myriad of edge cases, mostly related to Cypress' reload behavior. There are however likely several remaining edge cases that are unaccounted for.

      In case of #1222, the fail fast strategy adopted here appeared to mask an underlying issue. I suspect this might also be the case for #1313 and similar issues. Thus an option for erroring softly is introduced. With this option, instead of throwing fast in Cypress' event handlers, the preprocessor will emit an error message to stderr at the end of a run.

      My hope is that this will make it easier for the end-user to provide proper reproducible examples when running into these errors. Additionally, it can be useful for users whom which reports aren't strictly a necessity but do encounter such errors.

... (truncated)

Changelog

Sourced from @​badeball/cypress-cucumber-preprocessor's changelog.

v24.0.1

  • Update dependency @​cucumber/pretty-formatter to v3.

    • This is not a breaking change, but warrants mentioning because the output is changed stylistically in some ways.
  • Correctly handle edge case related to reload-behavior with run hooks, fixes #1344.

v24.0.0

Breaking changes:

  • Removed support for using browserify as a bundler.

    • Browserify is largely unmaintained at this point and is making it impossible to keep dependencies up-to-date as Browserify itself does not do that. Furthermore, the Browserify bundler is deprecated by Cypress. If you'd still like to use Browserify, you can pin your dependency on @badeball/cypress-cucumber-preprocessor to ~23.x.y.

    • A branch named v23.x.y has been created to continue illustrating how to use Browserify. This is mentioned in the FAQ.

  • Bump node requirement slightly from v20.0.0 to ^20.12.0, ^21.7.0 or >=22.

    • This is in preperation of replacing chalk with util.styleText.

Other changes:

  • Run hooks (BeforeAll/AfterAll) may now be optionally named. This is in line with how cucumber-js behaves.

  • Allow step hooks to return skipped / pending.

    • This is similar to how steps themselves can also return the above mentioned literals. This is in line with how cucumber-js behaves.
  • Attachments (using log(), link() or attach()) can be added in test run hooks (BeforeAll/AfterAll). This is in line with how cucumber-js behaves.

  • Remove use of patch-package in development mode, which was causing some issues, closes #1255.

  • Add rudimentary support for videos in reports (messages & HTML), fixes #1139.

    • This can be enabled by setting attachments.addVideos to true.

    • Videos, as with screenshots, are base64-encoded inline within the reports, making them bigger. I suspect size might be an issue for large attachments and this is why I consider this to be rudimentary to begin with. As issues arise, options to externalize attachments might be considered.

v23.2.1

  • Determine interactive mode correctly, fixes #1323.

v23.2.0

  • Add a flag to turn expectation errors soft. Relates to #1313 and #1222.

    • During creation of message reports, which the JSON & HTML reports are products of, some test state is tracked by this library. This requires taking into account a myriad of edge cases, mostly related to Cypress' reload behavior. There are however likely several remaining edge cases that are unaccounted for.

... (truncated)

Commits
  • 017d2d4 v24.0.1
  • ffaf50a Correctly handle edge case related to reload-behavior with run hooks
  • cad15f8 Merge pull request #1343 from badeball/renovate/migrate-config
  • 591794f Migrate config renovate.json
  • e5cb691 Update sponsor link
  • 9d4be94 Correct docs link
  • a3eab8a Remove unintentional debug output
  • b40aea9 Update dependency @​cucumber/compatibility-kit to v28
  • 2d04a25 Update dependency @​cucumber/compatibility-kit to v27
  • da15418 Replace stip-ansi with stripVTControlCharacters
  • Additional commits viewable in compare view

Updates cypress from 14.5.4 to 15.17.0

Release notes

Sourced from cypress's releases.

v15.17.0

Changelog: https://docs.cypress.io/app/references/changelog#15-17-0

v15.16.0

Changelog: https://docs.cypress.io/app/references/changelog#15-16-0

v15.15.0

Changelog: https://docs.cypress.io/app/references/changelog#15-15-0

v15.14.2

Changelog: https://docs.cypress.io/app/references/changelog#15-14-2

v15.14.1

Changelog: https://docs.cypress.io/app/references/changelog#15-14-1

v15.14.0

Changelog: https://docs.cypress.io/app/references/changelog#15-14-0

v15.13.1

Changelog: https://docs.cypress.io/app/references/changelog#15-13-1

v15.13.0

Changelog: https://docs.cypress.io/app/references/changelog#15-13-0

v15.12.0

Changelog: https://docs.cypress.io/app/references/changelog#15-12-0

v15.11.0

Changelog: https://docs.cypress.io/app/references/changelog#15-11-0

v15.10.0

Changelog: https://docs.cypress.io/app/references/changelog#15-10-0

v15.9.0

Changelog: https://docs.cypress.io/app/references/changelog#15-9-0

v15.8.2

Changelog: https://docs.cypress.io/app/references/changelog#15-8-2

v15.8.1

Changelog: https://docs.cypress.io/app/references/changelog#15-8-1

v15.8.0

Changelog: https://docs.cypress.io/app/references/changelog#15-8-0

v15.7.1

Changelog: https://docs.cypress.io/app/references/changelog#15-7-1

v15.7.0

Changelog: https://docs.cypress.io/app/references/changelog#15-7-0

... (truncated)

Commits
  • b22780a chore: Update Chrome (stable) to 149.0.7827.102 and Chrome for Testing (stabl...
  • ada42a7 chore: send standard identity headers on cy-prompt/studio session requests (#...
  • 6017154 perf(server): release pending automation requests after response (#34037)
  • 6be559a chore: don't redeclare inherited observable Session.name (#34034)
  • 437a08e chore: update need help link for auto provision project slug error modal (#34...
  • 04dd296 refactor(proxy): request/response interception adapters and wire middleware (...
  • 482cd41 chore: reporter support for test replay embedding (#34031)
  • f3de1b2 chore: reorder changelog entries for release by popularity of issue (#34032)
  • b60b68f misc: warn when a --spec pattern matches no spec files (#34023)
  • e0fe6e0 perf: Fix Command Log performance regression on hover (#34029)
  • Additional commits viewable in compare view
Install script changes

This version modifies postinstall script that runs during installation. Review the package contents before updating.


You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

…ress

Bumps [qs](https://github.com/ljharb/qs) to 6.15.2 and updates ancestor dependencies [qs](https://github.com/ljharb/qs), [@badeball/cypress-cucumber-preprocessor](https://github.com/badeball/cypress-cucumber-preprocessor) and [cypress](https://github.com/cypress-io/cypress). These dependencies need to be updated together.


Updates `qs` from 6.14.2 to 6.15.2
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](ljharb/qs@v6.14.2...v6.15.2)

Updates `@badeball/cypress-cucumber-preprocessor` from 22.0.1 to 24.0.1
- [Release notes](https://github.com/badeball/cypress-cucumber-preprocessor/releases)
- [Changelog](https://github.com/badeball/cypress-cucumber-preprocessor/blob/master/CHANGELOG.md)
- [Commits](badeball/cypress-cucumber-preprocessor@v22.0.1...v24.0.1)

Updates `cypress` from 14.5.4 to 15.17.0
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](cypress-io/cypress@v14.5.4...v15.17.0)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.15.2
  dependency-type: indirect
- dependency-name: "@badeball/cypress-cucumber-preprocessor"
  dependency-version: 24.0.1
  dependency-type: direct:development
- dependency-name: cypress
  dependency-version: 15.17.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jun 22, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner June 22, 2026 20:55
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Jun 22, 2026
@dependabot
dependabot Bot requested review from JordanGuinn and timoballard and removed request for a team June 22, 2026 20:55
@dependabot dependabot Bot added the javascript Pull requests that update javascript code label Jun 22, 2026
@JordanGuinn

Copy link
Copy Markdown
Contributor

Very confused as to why a minor version bump to qs necessitates a major version bump to cypress 🤔

@adaball

adaball commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

I was looking at this and seeing that the GitHub Workflow run was failing after the Cypress run had completed successfully.

I still don't know if it's a good idea to push this through as it bring Cypress to a new major version, however if anyone is looking at this and wondering why it's failing here is a Codex analysis on why the GitHub Workflow is failing after the Cypress run has completed successfully:


The line await preprocessor.afterRunHandler(config); is the Cucumber preprocessor’s teardown/finalization hook. In this repo it runs inside on("after:run", ...) in testing/regression/cypress.config.js, which is loaded by the workflow’s Cypress run step in .github/workflows/Regression-tests.yaml.

In practical terms, after cypress-io/github-action@v7 runs Cypress from testing/regression/, Cypress emits after:run. That handler then calls the Badeball Cucumber preprocessor so it can finish its run state and write report artifacts like reports/log.json, reports/messages.ndjson, and reports/cucumber-report.html. Cypress documents that after:run fires after cypress run, receives the run results, and awaits returned promises before continuing.

The likely problem is handler composition. This line already runs earlier:

await preprocessor.addCucumberPreprocessorPlugin(on, config);

That plugin registers its own after:run handler. Your config then registers another after:run handler and manually calls preprocessor.afterRunHandler(config). Badeball’s docs warn that its plugin owns lifecycle handlers including after:run, and custom handlers can override or conflict unless composed carefully.

Recommended shape:

await preprocessor.addCucumberPreprocessorPlugin(on, config, {
  omitAfterRunHandler: true,
});

on("after:run", async (results) => {
  if (results) {
    await preprocessor.afterRunHandler(config);
    await fs.writeFile("results.json", JSON.stringify(/* ... */));
  }
});

So the significance is: that line is preserving the Cucumber preprocessor’s report-finalization behavior inside your custom after:run hook. The CI failure means that finalization hook is throwing during the workflow’s Cypress run step, before your results.json write completes.

Sources: Cypress after:run docs: https://docs.cypress.io/api/node-events/after-run-api; Badeball event-handler docs: https://github.com/badeball/cypress-cucumber-preprocessor/blob/master/docs/event-handlers.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants