essessey v0.5.0 — SSE wire format as specified, plus event IDs The codec could not round-trip its own output: a payload containing a newline came back truncated at the first one, silently. Payloads are now framed as one data: field per line, which is how the format represents a multi-line value. Previously a blank line inside a payload forged a second event, and a newline in an event type let one Emit write several caller-chosen events. The parser now runs the format's state machine instead of matching the literal prefix 'data: '. The space after a colon is optional, so conformant producers that omit it used to yield nothing at all; multiple data: fields used to lose everything after the first; and typeless events were dropped as malformed. Adds Event.ID (emitted and parsed, omitempty because an empty id: RESETS the receiver's resume point), Source.LastEventID/Retry, FrameRetry and FrameComment. BREAKING: framing bytes change for multi-line payloads and for events carrying an ID, and Source delivers events the old parser silently discarded.