v0.19.0 4 months ago

# v0.19.0 — 2021-05-02

## Breaking

- color: change list of color vision deficiencies from uint8 to a new type
- disco: rename `GetItems` and `GetItemsIQ` to `FetchItems` and `FetchItemsIQ`
  to signal that they return an iterator
- xmpp: remove unused argument from `DialSession`
- jid: splitting a JID no longer trims trailing dots from the domainpart

## Added

- delay: new package implementing [XEP-0203: Delayed Delivery]
- disco: new package implementing [XEP-0030: Service Discovery]
- jid: normalization of domainparts for display purposes
- paging: new package implementing [XEP-0059: Result Set Management]
- stanza: new functions `AddID` and `AddOriginID` to support unique and stable
  stanza IDs
- stanza: ability to compare errors with `errors.Is`
- stanza: add `Is` function to check if an XMLName is a valid stanza name
- stanza: new `Wrap` method on `Error`
- stanza: new `UnmarshalIQError` function
- styling: satisfy `fmt.Stringer` for the `Style` type
- version: new package implementing [XEP-0092: Software Version]
- xmpp: satisfy `fmt.Stringer` for the `SessionState` type
- xmpp: new `UnmarshalIQ`, `UnmarshalIQElement`, `IterIQ`, and `IterIQElement`
- xtime: times can now be marshaled and unmarshaled as XML attributes

## Fixed

- form: if no field type is set the correct default (text-single) is used
- jid: JIDs created with `New` now trim trailing dots from the domainpart
- xmpp: unknown IQ error responses are now sent to the correct address
- xmpp: fixed DOS where reads/writes never timed out on `Dial*` functions

[XEP-0030: Service Discovery]: https://xmpp.org/extensions/xep-0030.html
[XEP-0059: Result Set Management]: https://xmpp.org/extensions/xep-0059.html
[XEP-0092: Software Version]: https://xmpp.org/extensions/xep-0092.html
[XEP-0203: Delayed Delivery]: https://xmpp.org/extensions/xep-0203.html