Skip to content

chore(helm): chart 0.5.1 tracks comqtt 2.6.7 - #192

Open
wind-c wants to merge 1 commit into
mainfrom
chore/chart-0.5.1
Open

wind-c wants to merge 1 commit into
mainfrom
chore/chart-0.5.1

Conversation

@wind-c

@wind-c wind-c commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

What this does

The v2.6.7 broker release is out. This moves the chart onto it.

version: 0.5.1
appVersion: "2.6.7"

The chart version has to move because chart-releaser will not release the same chart version twice, and 0.5.0 was already published.

appVersion moves because image.tag falls back to it, so a deployment without an explicit image.tag would otherwise keep running the 2.6.6 image. The helper refuses latest, so there is no way to get the new broker by accident either.

The PR also sets mark_as_latest: false on the chart release. The action defaults it to true, so comqtt-0.5.1 would otherwise become the repository's "Latest" release and push the broker release off the front page.

Why the version matters

Broker 2.6.7 fixes two serious defects:

  • An unauthenticated peer could make the broker hold 256 MiB per connection. The packet body size comes from a Remaining Length the peer declares in the fixed header, and the broker allocated that much before a single body byte arrived. A peer that declared the 256 MiB protocol maximum and then went quiet pinned that much memory for as long as it kept the socket open. Bodies over 64 KiB are now grown as data arrives, so memory tracks bytes received rather than bytes declared. Measured: about 256 MiB per connection before, about 0.4 MiB per connection after.

  • A partial capabilities: block in the configuration zeroed every capability that was not listed. The presence of any capabilities: key made YAML allocate a zero-valued struct, so the defaults were skipped entirely. The worst of them was MaximumMessageExpiryInterval: at zero, the expiry sweep discarded the whole offline queue and persistent sessions stopped delivering, with nothing logged. A partial block now merges on top of the defaults.

The other fixes in 2.6.7 cover property count and topic filter depth amplification, a listener that was silently killed by a transient Accept failure, inflight resend ordering, same-id session takeover, and a slice out of range in the cluster relay.

Full notes: https://github.com/wind-c/comqtt/releases/tag/v2.6.7

Rolling this out

image.tag falls back to Chart.appVersion, so an upgrade without an explicit image.tag will roll the pods onto the 2.6.7 image. Be aware that app.kubernetes.io/version is part of the pod template labels, so the pods restart on this upgrade even if image.tag is pinned; pinning keeps the old image, not the old pods.

The chart's own Upgrades section records this, and keeps the note for chart 0.5.0.

@wind-c
wind-c force-pushed the chore/chart-0.5.1 branch from 6a03e53 to 5f3e974 Compare November 5, 2026 01:37
The chart version has to move because chart-releaser will not release the
same chart version twice, and appVersion moves so that image.tag, which
falls back to it, points the deployment at the 2.6.7 image.

The upgrade note records the two serious defects 2.6.7 fixes: an
unauthenticated peer could make the broker hold 256 MiB per connection by
declaring a large packet body and then going quiet, and a partial
capabilities block in the configuration zeroed every capability that was
not listed, which silently stopped persistent sessions from delivering.

The chart release is now marked not-latest. The action defaults it to
true, which would replace the broker release as the repository's Latest
on every chart bump.
@wind-c
wind-c force-pushed the chore/chart-0.5.1 branch from 5f3e974 to c173391 Compare November 5, 2026 01:41

This branch has not been deployed

No deployments
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