Skip to content

Release 7.0.22-beta - #1091

Merged
justcoding121 merged 18 commits into
betafrom
develop
Oct 10, 2026
Merged

justcoding121 merged 18 commits into
betafrom
develop

Conversation

@justcoding121

Copy link
Copy Markdown
Owner

Summary

  • Promote develop (VersionPrefix 7.0.22) to beta for the v7.0.22-beta product cut.
  • Ships Inspector localization / Filters chips / leading-- hide, HTTP/2 zlib deflate + mismatched encoding survival, bot-challenge-only decrypt bypass learning, and HTTP/3 SVCB DNS bind fix.
  • No winget; leave microsoft/winget-pkgs #449995 untouched.

Test plan

  • Required checks green: .NET / build, ui-portable ×3, cli-e2e ×3, RPS saturation / rps ×3
  • After merge: rps-publish-gate + rps-peer-gate then NuGet 7.0.22-beta, tag v7.0.22-beta, Chocolatey 7.0.22-beta, Download Beta

justcoding121 and others added 18 commits October 9, 2026 21:13
…ponses

A bare 403 or a Retry-After 429 is an ordinary answer and no longer switches a host to an opaque tunnel. A 403/429 is learned only when it carries a bot-management marker: a vendor header (cf-mitigated, x-datadome*, x-amzn-waf-action, x-kpsdk-*), Server: AkamaiGHost, a bot-management cookie (_abck, bm_sz, datadome, incap_ses_*, _px*), or captcha/challenge in a header name or value (CSP, CORS and auth headers are skipped). Verified against the headers of a real www.expedia.com TLS-fingerprint block.
… encodings

Content-Encoding: deflate is zlib-wrapped per RFC 9110, but DeflateStream only reads bare deflate and threw InvalidDataException on zlib bodies. The unhandled exception dropped the whole decrypted HTTP/2 client connection. Add AutoDeflateStream, which sniffs the 2-byte zlib header and reads either form, and keep the wire bytes (with a Debug log naming the URL and encoding) when a buffered HTTP/2 body does not match its Content-Encoding.
The 7.0.21 promote ran the same tree as the published beta and failed Ubuntu ui-portable at +273MB RSS after the in-memory body counter had passed. Linux VmRSS is not returned after GC.
…host

Loopback DNS queries and the inspector recovery start were listening on every address, which asks the user to allow testhost.exe.
The search box stays the full query. Chips give one-click undo, and Filters applies a snapshot so several hides fit without crowding the toolbar.
…s the row

Automatic follows the OS language and theme on Windows, macOS, and Linux. A filter that removes the selected session no longer leaves an empty Inspect pane, and clearing filters does not reopen a pane the user closed.
Reduce LooksLikeBotChallenge complexity, prefer static chip arrays in tests, and give Expect: 100-continue happy paths a longer read timeout so shared runners stop timing out under load.
…Windows.

Use Any() for bot-challenge header scan, and raise the large-body tab budget so loaded Windows runners stop failing around 5 s.
…evelop

fix(sonar): clear develop code smells and harden 100-continue CI waits
…lop.

Drop unsafe CFString marshaling, call gdbus by absolute path, and tidy static/LINQ/regex findings so the quality gate can go green.
…2 on tip binding.

Avoid a Mac-only coverage gap on the PR gate; touch settings so ProxyLocalhostTip stays an instance Avalonia binding.
The instance tip getter is required for Avalonia binding; exercise it so new-code coverage clears 80%.
…te-develop

fix(sonar): clear localization-era smells and vulnerabilities on develop
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
69.1% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@justcoding121
justcoding121 merged commit e9312f3 into beta Oct 10, 2026
36 of 37 checks passed

This branch was successfully deployed

1 active deployment
github-pages — f127a410 Deployed Oct 10, 2026 by github-actions[bot] via deploy #718
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant