Skip to content

tg-ws-proxy-rs v2.2.2

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Aug 13:36
8f31f22

One flag, and the release notes you are reading now ship from the repository
instead of being pasted in by hand afterwards.

No configuration changes. Every existing CLI flag and TG_* variable behaves
exactly as it did in v2.2.1, and the library API is unchanged. Drop-in swap on
every target.

New

tg-ws-proxy --version now prints the version and exits, along with the
short form -V:

$ tg-ws-proxy --version
tg-ws-proxy 2.2.2

Previously both were rejected as an unknown argument. The version was already
available — the startup banner has always carried it — but only by actually
starting the proxy, which means binding the port and finding a free one to bind.
And the banner is an info! log line, so --quiet drops it entirely and
--log-file sends it to the file instead of the terminal. On a router, where
the binary is copied around by hand and the running one is whatever was scp'd
last, that made "which build is this?" a harder question than it should be.

The value comes from CARGO_PKG_VERSION at compile time, so it is the version
in Cargo.toml by construction and cannot drift from the release tag.

-v is untouched. Short flags are case-sensitive: -v is still
--verbose, -V is --version. Nothing that already worked changes meaning.

Changed

Releases now publish complete, or not at all. The GitHub Release used to be
created the moment the tag landed and then filled in over the following minutes
as each target finished building — so for a while it sat there advertising a new
version with no binaries under it, and the notes arrived even later, by hand.

It is now created as a draft and flipped to published only after every asset,
plain and UPX-packed alike, has been uploaded. The body comes from
docs/release-notes/$version.md, committed in the same pull request that bumps
the version. Forgetting to write it fails the release rather than shipping an
empty one.

Nothing about the produced binaries changes — this is release plumbing only.

Verified

188 tests, clean cargo clippy --all-targets, clean cargo fmt. Both flags are
covered by a test that asserts the printed string contains the crate version, so
a future rename or a hand-written version string cannot silently break them.

The release rehearsal that runs on pull requests now also downloads from and
edits a draft release, which is what the publish-at-the-end flow depends on.