Skip to content

Releases: Essency/bicchierino

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 20 Aug 08:00
052a101

[0.3.1] - 2026-08-20

🐛 Bug Fixes

  • (connection) Forward original line verbatim in handle_raw, not reconstructed
  • (e2e) Switch raw-passthrough test from OS TAGLINE to OS AKILL PERM
  • (test) Register bicc-grappa with NickServ for ULEVEL_MASTER access

🧪 Testing

  • (e2e) Add handle_raw verbatim-passthrough regression for #101
  • (e2e) Always send NickServ IDENTIFY after REGISTER

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 19 Aug 14:51
af1f075

[0.3.0] - 2026-08-19

🚀 Features

  • (connection) Send real build date in RPL_CREATED (003)

🐛 Bug Fixes

  • (bootstrap) Join $server topic before send_welcome to get isupport (#90)
  • (join) Skip an already-member channel entirely, matching bahamut
  • (connection) Route MODE #chan +b (signed) to banlist handler (#98)
  • (connection) Emit bare nick prefix when sender_user/sender_host absent
  • (test) Add missing main() to test_channel_prefix
  • (test) Update e2e prefix check to accept bare nick and reject placeholder
  • (connection) Absorb excess tokens into last param instead of discarding

🧪 Testing

  • (banlist) Remove unworkable -b fallthrough case from unit test

⚙️ Miscellaneous Tasks

  • (merge) Resolve Makefile conflict with develop
  • Retrigger CI (ASan job cancelled by GH infra; all code jobs pass)
  • Add concurrency group to prevent duplicate PR runs
  • (merge) Resolve conflict with develop (test_parse + test_banlist both kept)

v0.2.3

Choose a tag to compare

@github-actions github-actions released this 14 Aug 19:34
7780e34

[0.2.3] - 2026-08-14

🐛 Bug Fixes

  • (bootstrap) Send PREFIX-complete 005 before the first JOIN line (#82)
  • (isupport) Derive STATUSMSG from PREFIX sigils instead of hardcoding @+
  • (bootstrap) Derive STATUSMSG from cached sigils in send_welcome; fix tests for Case B path
  • (connection) Scan all modes for highest-rank sigil in render_names_353_366

⚙️ Miscellaneous Tasks

  • (merge) Resolve conflict with develop (test_isupport + STATUSMSG comment)

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 12 Aug 20:49
ed22af3

[0.2.2] - 2026-08-10

🐛 Bug Fixes

  • (packaging) Use systemctl directly in postinst upgrade restart
  • (whois) Emit P-0a numerics in bahamut's own order

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 10 Aug 16:07
60d7df8

[0.2.1] - 2026-08-10

🐛 Bug Fixes

  • (whois) Render P-0a bahamut fields from grappa's whois_bundle
  • (connection) Suppress join/part self-echo by channel correlation

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 07:13
3b9da12

[0.2.0] - 2026-08-10

🚀 Features

  • (#3) Start a per-connection id/server_time ring for CHATHISTORY
  • (#3) Implement CHATHISTORY (draft/chathistory) over the ring
  • (connection) Consume meta.sender_kind in handle_grappa_server_window_row
  • (http) RFC 3986 bracketed IPv6 literal support in parse_grappa_url
  • (listener) Add IPv6 support to bind directive
  • (grappa-admin) Expose admin API as /grappa IRC commands (#56)
  • (registry) Add connection registry and /grappa clients/myclients/kill
  • (config) Accept plaintext grappa-url towards loopback only

🐛 Bug Fixes

  • Two draft/chathistory spec-compliance gaps found by issue #46 review
  • Resolve -Werror=format-truncation and -Wsign-compare in chathistory code
  • (test) Two chathistory compliance check bugs
  • (registry) Eliminate TOCTOU race in registry_kill + dangling entries
  • (registry) Remove post-shutdown send() in registry_kill
  • (connection) Reconcile GRAPPA dispatch with registry commands (#57)
  • (grappa) Correct vhost grant and revoke endpoints (#62)
  • (grappa) Read grants from flat root-level array in vhost revoke
  • (grappa) Verify and correct all admin subcommand wire shapes (#63)
  • (connection) Join WHO params with spaces to support extended-WHO syntax
  • (packaging) Restart service on upgrade, stop only on remove

💼 Other

  • Expand RFC 1459 compliance checks beyond the registration burst
  • Fix server NOTICE check — active trigger via OperServ UPDATE
  • Fix server-NOTICE check to use scheduled write cycle
  • Bring feature/chathistory-ring onto develop (64 commits)
  • Resolve conflicts with develop, fix bracketed-IPv6 loopback gap

🧪 Testing

  • Fix services crash caused by UPDATE:20 below the 300s minimum
  • Assert PRIVMSG DM target is re-keyed to peer nick (WIRE.md §5)
  • (e2e) Add IRCv3 draft/chathistory compliance check

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 08 Aug 21:55

[0.1.1] - 2026-08-08

🐛 Bug Fixes

  • Prepend v to the tag semver.yml computes
  • Use a PAT to push the release tag, not the default token
  • Join the $server topic and render the rows that arrive on it
  • Clamp send_line's CRLF write to the buffer it actually filled
  • Decode Transfer-Encoding: chunked in HTTP client (fixes #6)
  • Guard the zero-length memcpy in growbuf_append and the body copy
  • Refuse a topic that does not fit instead of joining a different one
  • Add registration deadline and connection cap (issue #7)
  • Replace deprecated ATOMIC_VAR_INIT with direct initializer
  • Emit nick!user@host prefix for $server-window NOTICE rows (#24)
  • (#18) Check json_escape_into return at all 33 connection.c call sites
  • Distinguish server hostname from user nick in server-window NOTICEs (#29)
  • (test) Build the grappa image in prepare.sh before running it
  • (e2e) Drop include: directive; wire COMPOSE_FILE for multi-file merge
  • (e2e) Anchor project-directory to test/ and add RFC 1459 check
  • (e2e) Fix build context paths for compose project-dir resolution
  • (e2e) Fix volume paths relative to compose project directory
  • (e2e) Replace ping with nc in isolation.sh for CI compatibility

💼 Other

  • Add SO_RCVTIMEO/SO_SNDTIMEO to bound all blocking I/O on the grappa leg
  • Reject IPv6 bind addresses at parse time, not mid-startup
  • Strip CR/LF/NUL in send_line before writing to client
  • Resolve conflict with develop (test_server_window vs test_render)
  • Develop into master
  • Develop into master
  • Resolve conflict with develop (caps.py step vs e2e job)
  • Develop into master

📚 Documentation

  • Remove dangling bicchierino#2/#3 references from code and README

🧪 Testing

  • Add unit suites for json, ws, jsonw, config, http and bridge
  • Cover the chunked decoder added in #19
  • Assert the $server-window prefix shape for both sender kinds
  • A sealed azzurra stack for end-to-end work
  • Cover the CR/LF/NUL guard merged in #32
  • Cover the connection cap and registration deadline from #20
  • Cover the socket timeouts added in #17

⚙️ Miscellaneous Tasks

  • Run make check in the build matrix and under ASan/UBSan
  • Ignore a local-only CLAUDE.md mirror
  • Run caps.py in the sanitizers job, and renumber its blocks
  • Wire the sealed azzurra e2e stack into the pipeline

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Aug 10:49

[0.1.0] - 2026-08-08

🚀 Features

  • Show real semver version in IRC 002/004, --version, CI verification
  • Add .deb packaging with a hardened systemd unit

🐛 Bug Fixes

  • Prepend v to the tag semver.yml computes
  • Use a PAT to push the release tag, not the default token

💼 Other

  • Bicchierino is stateless, no persistence across disconnects
  • Confirm no visitor fallback on the email login path
  • Fix sibling message loss and QUIT killing other sessions
  • Drop draft/chathistory + batch, actually implement server-time
  • Fix the Running example — clients send USER/NICK/PASS themselves

⚙️ Miscellaneous Tasks

  • Add manual workflow to cut a release from Conventional Commits
  • Generate release notes from Conventional Commits via git-cliff