mirror of
https://github.com/brazilofmux/tinymux
synced 2026-08-13 00:23:11 -04:00
Prepare 2.14.0.11 ALPHA release
Version bump across the three files that carry it: mux/include/_build.h (MUX_VERSION, MUX_RELEASE_DATE) and OLD_BUILD/NEW_BUILD in dounix.sh and dowin32.sh, which move 9->10 and 10->11 respectively. CHANGES.md: close the 2.14.0.11 section that has been maintained through the cycle, and add the client TCP_NODELAY work (#2204, #2205, #2206, #2207) to Clients, which had #2196 for tf but not the other four native clients. Recorded with the wire measurement rather than by inspection -- two segments before the fix, five after, and no observable difference on loopback at all. Build-only changes are left out of the changelog as they have been all cycle (#2177, #2180, #2185, #2211). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
d15b1dc3f8
commit
44c374ee5a
4 changed files with 24 additions and 7 deletions
|
|
@ -21,9 +21,9 @@ set -u # Error on unset variables
|
|||
set -o pipefail # A failure anywhere in a pipe fails the pipe
|
||||
|
||||
# Version information
|
||||
OLD_BUILD=9
|
||||
OLD_BUILD=10
|
||||
OLD_VERSION="2.14.0.$OLD_BUILD"
|
||||
NEW_BUILD=10
|
||||
NEW_BUILD=11
|
||||
NEW_VERSION="2.14.0.$NEW_BUILD"
|
||||
|
||||
# Directory structure
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ set -e # Exit on error
|
|||
set -o pipefail
|
||||
|
||||
# Version information
|
||||
OLD_BUILD=9
|
||||
OLD_BUILD=10
|
||||
OLD_VERSION="2.14.0.$OLD_BUILD"
|
||||
NEW_BUILD=10
|
||||
NEW_BUILD=11
|
||||
NEW_VERSION="2.14.0.$NEW_BUILD"
|
||||
|
||||
# Directory structure
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ author:
|
|||
|
||||
Changes in TinyMUX 2.14 (relative to the 2.13 branch point).
|
||||
|
||||
# Changes in 2.14.0.11 (UNRELEASED):
|
||||
# Changes in 2.14.0.11 (2026-AUG-07):
|
||||
|
||||
A performance cycle, and a narrow one on purpose: seventy-odd changes since
|
||||
2.14.0.10, almost all of them either measuring the server or making a measured
|
||||
|
|
@ -284,6 +284,23 @@ release carried the bad state.
|
|||
one command is one `write()` — but a trigger, a multi-command macro or a
|
||||
scripted burst issues several small writes in one pass, and Nagle made
|
||||
each wait on the ACK of the one before it.
|
||||
- **The remaining four native clients now set it as well** (#2204 — #2205
|
||||
console and win32gui, #2206 Titan Android, #2207 Titan iOS). A survey
|
||||
after #2196 found `TCP_NODELAY` mentioned in exactly one file across all
|
||||
of `client/`, so every other client still ran its session socket with
|
||||
Nagle enabled. The two mobile clients are simultaneously the ones it
|
||||
costs most — high-RTT, lossy, radio-scheduled links — and the ones whose
|
||||
platforms make it worst: Java's `Socket` and Network.framework's
|
||||
`NWProtocolTCP.Options` both default the option to *false*, so nothing
|
||||
was overriding it.
|
||||
- This one was verified on the wire rather than by inspection. Five small
|
||||
writes issued in one pass, captured against a remote server: before the
|
||||
fix the client put **two** segments on the link — the first 2 bytes, then
|
||||
the remaining 8 coalesced and withheld until the ACK — and after it,
|
||||
**five**, all departing within 0.1ms. The identical burst over loopback
|
||||
shows no difference whatsoever, which is precisely why it had to be
|
||||
measured against a real link: there the ACK returns faster than the next
|
||||
write is issued, so Nagle never engages and the bug is invisible.
|
||||
|
||||
## Notes
|
||||
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
#ifndef _BUILD_H
|
||||
#define _BUILD_H
|
||||
|
||||
#define MUX_VERSION "2.14.0.10" // Version number
|
||||
#define MUX_RELEASE_DATE "2026-AUG-02" // Source release date
|
||||
#define MUX_VERSION "2.14.0.11" // Version number
|
||||
#define MUX_RELEASE_DATE "2026-AUG-07" // Source release date
|
||||
|
||||
// Define if this release is qualified as ALPHA or BETA.
|
||||
//
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue