Skip to content

Release HyperMeow v0.1.0 - #34

Merged
purpshell merged 189 commits into
mainfrom
codex/release-v0.1.0
Aug 10, 2026
Merged

Release HyperMeow v0.1.0#34
purpshell merged 189 commits into
mainfrom
codex/release-v0.1.0

Conversation

@purpshell

@purpshell purpshell commented Aug 10, 2026

Copy link
Copy Markdown
Member

Summary

  • merge the fully reviewed dev train into main
  • preserve the newer main protobuf update
  • publish the standalone github.com/polymorfa/hypermeow module contract
  • prepare the first tagged HyperMeow release

Validation

  • pre-commit run --all-files
  • generated MEX binding check
  • go build ./...
  • go test ./...
  • go test -race ./...
  • Barback benchmark module tests in normal, benchmark_legacy, and race modes
  • comparison script syntax checks

After this PR is merged, the exact merge commit will be tagged v0.1.0 and requested through the public Go proxy so pkg.go.dev promotes the stable tag over dev pseudo-versions.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

HyperMeow declared `module go.mau.fi/whatsmeow`, so consumers could only
reach it through `replace go.mau.fi/whatsmeow => github.com/polymorfa/
hypermeow`. Go only honours a `replace` in the main module, so that
arrangement never propagated: anything that depended in turn on a module
using HyperMeow silently resolved upstream whatsmeow instead, and
`go get github.com/polymorfa/hypermeow` could not work at all.

Declare the module under its own path, `github.com/polymorfa/hypermeow`,
and rewrite internal import paths to match. Package names are unchanged
- the root package is still `whatsmeow` - so only import paths move and
no call site changes.

The 57 generated descriptors are regenerated rather than text-edited.
The `go_package` option is stored in the raw descriptor behind two
protobuf varint length prefixes, and the path grows by 11 bytes, so a
substitution would have left every length prefix understating its
payload and corrupted the descriptors at runtime. Regenerating with the
toolchain the artifacts were produced by (protoc-gen-go v1.36.11)
reproduces them byte-identically apart from the intended change; the
only incidental diff is the recorded protoc patch version, 6.33.5 to
6.33.6.

The nested benchmark module already carried the new path and now
requires it directly.
godoc renders the root package as "whatsmeow package -
github.com/polymorfa/hypermeow", which reads like the rename did not
take. It did: only the module path moved. Say so directly, and give the
reason the package clause stays on the upstream name.
A distinct module path lets Go compile HyperMeow alongside upstream
whatsmeow. Both keep upstream's generated descriptor paths, so the
process-global protobuf registry panics before main. The replace
directive made that impossible; document the constraint and how to
assert it at build time.
Without -m the query is about the package, so a dependency importing
only a subpackage such as proto/waCommon reports that the module is not
needed while it is in fact linked. Add a link-graph check as well.
grep exits 0 on a match, so the documented command succeeded precisely
when upstream whatsmeow was in the graph.
The go-mod-tidy pre-commit hook fails on nine stale entries for modules
no longer in the graph.
@purpshell

Copy link
Copy Markdown
Member Author

@codex review exact head 4c1c118 for the v0.1.0 main release.

@purpshell

Copy link
Copy Markdown
Member Author

@coderabbitai review exact head 4c1c118 for the v0.1.0 main release.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4c1c118360

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread benchmark/barback/Dockerfile Outdated
@purpshell

Copy link
Copy Markdown
Member Author

@codex review exact head e2f25d6 after fixing the legacy baseline module-path collision.

@purpshell

Copy link
Copy Markdown
Member Author

@coderabbitai review exact head e2f25d6 after fixing the legacy baseline module-path collision.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🚀

Reviewed commit: e2f25d633d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@purpshell
purpshell merged commit ab2316e into main Aug 10, 2026
5 checks passed
@purpshell
purpshell deleted the codex/release-v0.1.0 branch August 10, 2026 23:10
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