This is Bunny, a Ruby AMQP 0-9-1 client for RabbitMQ that has one key dependency: amq-protocol, an AMQP 0-9-1 protocol parser (more specifically: a serialization, deserialization, and framing implementation).
This library targets Ruby 3.0 and later versions.
- Only add very important comments, both in tests and in the implementation
If asked to perform change log updates, consult and modify ChangeLog.md and stick to its
existing writing style.
Suppose the current development version in ChangeLog.md has
a ## Changes between Bunny X.Y.0 and X.(Y+1).0 (in development) section at the top.
To produce a new release:
- Update
ChangeLog.md: replace(in development)with today's date, e.g.(Mar 30, 2026). Make sure all notable changes since the previous release are listed - Update the version in
lib/bunny/version.rbto match (remove any.presuffix) - Commit with the message
X.(Y+1).0(just the version number, nothing else) - Tag the commit:
git tag X.(Y+1).0 - Bump the dev version: add a new
## Changes between Bunny X.(Y+1).0 and X.(Y+2).0 (in development)section toChangeLog.mdwithNo changes yet.underneath, and updatelib/bunny/version.rbto the next dev version with a.presuffix - Commit with the message
Bump dev version - Push:
git push && git push origin X.(Y+1).0
- Never add yourself to the list of commit co-authors
- Never mention yourself in commit messages in any way (no "Generated by", no AI tool links, etc)
- Never add full stops to Markdown list items
After completing a task, perform up to twenty iterative reviews of your changes. In every iteration, look for meaningful improvements that were missed, for gaps in test coverage, and for deviations from the instructions in this file.
In particular, check that:
- The code targets Ruby 3.0 and does not rely on newer-version features
- Notable user-visible changes are listed in
ChangeLog.mdunder the current(in development)section - New behavior is covered by tests under
spec/unit,spec/higher_level_api, orspec/lower_level_api - No new runtime dependencies were introduced beyond
amq-protocol
If no meaningful improvements are found for three iterations in a row, report it and stop iterating.