Release 4.1.0, and lead the web section with what works - #249
Merged
Conversation
The section still read as a warning: sockets are unavailable, bring your own transport, and by the way here is what used to be broken before 4.0.0. That framing was right when web support was a caveat. It is not any more, now that pub.dev lists the platform and a browser runs a handshake, a command, an aes256-gcm session and an SFTP round trip against a real OpenSSH server on every pull request. So it now says what works first, then the one thing a caller has to supply, then the two things a browser genuinely cannot do. The archaeology about getUint64 moves out: that belongs in the changelog, which has it. Also points at tool/ws_bridge.dart and the test socket as a worked example of the transport, since writing one is the only real work left for a web user, and mentions the platform in the features list.
Dates the section and bumps pubspec from 4.0.1. Nothing is left open, and the web platform work is invisible to anyone until this is published: pub.dev still serves 4.0.1 without platform:web, so a search filtered to web still does not find the package.
vicajilau
enabled auto-merge
September 4, 2026 06:43
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #249 +/- ##
=======================================
Coverage 77.84% 77.84%
=======================================
Files 82 82
Lines 6395 6395
=======================================
Hits 4978 4978
Misses 1417 1417
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
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.
Two things, both wanted before tagging.
The README
The Web support section still read as a warning: sockets are unavailable, bring your own transport, and by the way here is what used to be broken before 4.0.0.
That framing was right when web support was a caveat. It is not any more, now that pub.dev lists the platform and a browser completes a handshake, runs a command, holds an
aes256-gcmsession and round-trips a file over SFTP against a real OpenSSH server on every pull request.So it now says what works first, then the one thing a caller actually has to supply, then the two things a browser genuinely cannot do. The paragraph about
getUint64throwing under dart2js is gone: it is changelog material and the changelog has it, and someone reading how to use the library on the web does not need the archaeology of a version that already shipped. It also points attool/ws_bridge.dartand the socket in the interop test as a worked example, since writing that transport is the only real work left for a web user.The release
Dates the 4.1.0 heading and bumps
pubspec.yamlfrom 4.0.1.Worth doing now rather than accumulating: nothing is open, and the web platform work is invisible to anyone until it is published. pub.dev still serves 4.0.1 without
platform:web, so a search filtered to web still does not find the package.4.1.0 rather than 4.0.2 because #246 added public API,
SSHClient.pipelineChannelRequests.Verified
dart formatanddart analyze --fatal-infosclean, 703 tests passing,dart pub publish --dry-runwith 0 warnings.