I think default User-Agent headers in HTTP libraries are an anti-pattern.
Any HTTP library's Client object SHOULD require the consumer to explicitly set its User-Agent and MUST throw an error if the User-Agent header is implicitly unset and was not explicitly set.