Document serialization, batch send, auto-prepare; migration guide to 0.11.0
Closes the four gaps in blehnen/DotNetWorkQueue#258. The wiki's last
substantive update was 2026-07-06, so everything from 0.9.37 through 0.11.0
was undocumented.
New Serialization page. There was none, and nothing anywhere named
SerializerId or ISerializerResolver - so the opt-in System.Text.Json
serializer, the Queue-SerializerId header, consumer-side selection and the
fallback for messages written before the header existed had no home. Added to
_Sidebar before Message Interception, since interception runs on the
serialized bytes.
Producer: the batch section said "this operation is not necessarily atomic".
That stopped being true in 0.9.41 for the relational transports and in 0.11.0
for LiteDb, so the page was telling readers the opposite of the guarantee they
now have. Replaced with what each transport actually does, plus caller input
ordering, the scheduled-job rejection and BatchSize - all verified against the
code rather than inferred from the changelog.
PostgreSQL: Npgsql automatic statement preparation, which #232 measured and
shipped as a documented tuning option in the transport README. The wiki is
where people look for tuning options, and it appeared on no page. Carries the
numbers and the DDL trade-off, including that the gain is on the batch path
only.
MigrationGuide stopped at 0.9.31. Added 0.9.41, 0.9.42, 0.10.0 and 0.11.0,
driven off the changelog's warning-marked entries - batch atomicity, the
held-transaction path throwing, SQLite pooling holding the file handle open,
and the three in 0.11.0.
MigrationGuide.md is LF while the rest of the wiki is CRLF; kept per file.