Repository navigation
Opens the toolkit up to UPnP services beyond DLNA, and fixes a DIDL parsing bug that reached the media renderer.
GENA subscriber — start() now takes extraServices, so a caller can subscribe to a service the toolkit has no typed parser for, and onRaw reports every NOTIFY with its body and unescaped LastChange. Typed parsing is unchanged, but now only runs for AVTransport and RenderingControl instead of treating anything that isn't AVTransport as RenderingControl.
buildSoapRequest — instanceId: null omits the InstanceID argument, for services that take none (ZoneGroupTopology, DeviceProperties, ContentDirectory). The default is unchanged.
DIDL fix — <upnp:album[^>]*> also matched <upnp:albumArtURI>. Where a DIDL item lists the art before the album, reading upnp:album started at the wrong element and returned the art URI plus everything in between. This reaches UpnpMediaRenderer.onSetUri, so a control point using that field order handed us a garbage album name.
Also includes v0.4.1, which was tagged but never released: seek in ABS_TIME as well, and stop offering TRACK_NR.