2025-10-07 - 2026-10-07
Overview
49 Pull requests merged by 1 user
Merged
#52 Record the answers to plan 3's public API questions
Merged
#51 Amend plan 3 with its architecture review
Merged
#50 Plan the comprehension rewrite and file its background
Merged
#49 Give the held-message flow one owner
Merged
#48 Give the link's liveness one owner
Merged
#47 Drop the store operator from the README's personas until the store ships
Merged
#46 Hand IncomingRequests the session in place of sixteen closures
Merged
#45 Give the held-message flow one place a reader can follow it
Merged
#44 Name what each of the three request paths skips
Merged
#43 File the two spellings of a bind command
Merged
#42 Let the session own its bind state, written by bound() alone
Merged
#41 Fold the session's closed and ended flags into one lifecycle state
Merged
#40 Name which body settles data_coding in resolveBody
Merged
#39 Name carry()'s retry condition and what ends its loop
Merged
#38 Split linkDown() into canCarry() and droppedWhileDraining()
Merged
#37 Size the address arrays' C-Octet Strings through cstring.size()
Merged
#36 Derive the retained octets from ExpiringGroups' weight
Merged
#35 Give the held-message protocol one home in MessageHold
Merged
#34 Route sms.ts through its handlers, all of it
Merged
#33 Give IncomingRequests a port instead of the Session it drives
Merged
#32 Record the TLV keying decision as the maintainer's
Merged
#31 Open every todo item with a bold one-sentence tagline
Merged
#30 Type each known TLV's value by its tag, on read and on write
Merged
#29 Refuse a message past the held-message bound with ESME_RTHROTTLED, and answer a full reassembly buffer the same way
Merged
#28 Cap the heap unanswered messages hold, and detach them from the chunk they arrived in
Merged
#27 Charge each held segment and its TLVs for their objects against the reassembly cap
Merged
#25 Read every occurrence of a repeatable TLV, and drop the unread tlvMap
Merged
#24 Refuse a maxOctets below 1 at startup, like the other limits
Merged
#23 Make a failed send the whole message's answer, with no merged report after it
Merged
#22 Make goal 2 cover a value we could not send as the caller wrote it
Merged
#21 Leave alert_notification and outbind unanswered
Merged
#18 Refuse a non-finite number where a text field coerces one
Merged
#17 Disclose the bind-credential collision the latin1 read closed
Merged
#16 Read and write every text field on the wire as latin1
Merged
#15 Compare throughput against jsmpp and Cloudhopper on one sink
Merged
#14 Measure throughput, make it goal 6, and gate a release on it
Merged
#13 Plan 0.6.0 as the quality cut the comprehension panel and architecture review ask for
Merged
#12 Give up a connect after connectTimeout instead of waiting the OS out
Merged
#11 Plan a connectTimeout option, found comparing 0.5.0 with the larvitsmpp forks
Merged
#10 Move the decisions to docs/decisions.md and index them in AGENTS.md
Merged
#9 Move the goals to README.md and state the audience
Merged
#8 Fixed CLAUDE.md
Merged
#7 Tick off the 0.5.0 cleanup in todo.md, and decline a token expiry check
Merged
#5 Mirror every branch and tag to GitHub from CI, keeping what only GitHub has
Merged
#6 Let a registered encoding claim a data_coding a built-in already uses, in todo.md
Merged
#4 Record the gaps found against other SMPP libraries, and make configurable and extendable a goal
Merged
#3 Track the peer's address on every log message in todo.md, and keep Renovate's dashboard open
Merged
#2 Release as 0.5.0 rather than 1.0.0
Merged
#1 Move the repository to Gitea
1 Pull request proposed by 1 user
Proposed
#53 Move src into codec, protocol, messages and session layers