You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@iceberg.apache.org by rahul mahadev <ra...@gmail.com> on 2026/09/23 21:19:41 UTC
[VOTE] Recommend a standard User-Agent format for REST clients
Hi all,
Following the discussion thread [1], I'd like to call a vote on
standardizing the client User-Agent format in the REST catalog spec.
What a +1 endorses:
- Clients identify themselves with the standard HTTP User-Agent header
(RFC 7231): whitespace-separated product/version tokens, most specific
first (engine, then any integration or connector, then the Iceberg
library, then the runtime), with an optional parenthesized comment for
extra context. Example:
Spark/4.0.0 iceberg-spark/1.9.0 iceberg-java/1.9.0 (scala 2.13.16)
- When the header is sent, the Iceberg library token (iceberg-java,
pyiceberg, iceberg-rust, iceberg-go) must be present.
- The header is advisory. Servers must not reject a request just because
it is missing or malformed, and must not use it for authentication.
Servers may refuse operations from client versions known to be unsafe.
It is not a capability negotiation mechanism.
The spec change is in PR [2]. If the vote passes, the follow-ups are
conforming the client libraries (java, python, rust, go) to emit this
format.
[ ] +1 Adopt this User-Agent format in the REST spec
[ ] 0
[ ] -1 Do not adopt (please explain)
Thanks,
Rahul
[1] https://lists.apache.org/thread/d6hkx66o8qc1lolh11l1lmswxlq0bpj9
[2] https://github.com/apache/iceberg/pull/17727
Re: [VOTE] Recommend a standard User-Agent format for REST clients
Posted by Alex Dutra <ad...@apache.org>.
Hi Rahul,
Thanks for starting this vote thread. I posted a few more comments on
the PR that I think we should address before proceeding. Let me know
what you think.
Thanks,
Alex
On Thu, Sep 24, 2026 at 10:47 AM Xuanwo <xu...@apache.org> wrote:
>
> +1 (non-binding)
>
> I support the advisory User-Agent format, including keeping it separate from authentication and capability negotiation and preserving support for clients that omit the header.
>
> Thanks,
> Xuanwo
Re: [VOTE] Recommend a standard User-Agent format for REST clients
Posted by Xuanwo <xu...@apache.org>.
+1 (non-binding)
I support the advisory User-Agent format, including keeping it separate from authentication and capability negotiation and preserving support for clients that omit the header.
Thanks,
Xuanwo
Re: [VOTE] Recommend a standard User-Agent format for REST clients
Posted by Anoop Johnson <an...@apache.org>.
+1 (non-binding)
On Wed, Sep 23, 2026, 11:00 PM Andrei Tserakhau via dev <
dev@iceberg.apache.org> wrote:
> +1 non-binding
>
> ср, 23 сент. 2026 г., 23:20 rahul mahadev <ra...@gmail.com>:
>
>> Hi all,
>>
>> Following the discussion thread [1], I'd like to call a vote on
>> standardizing the client User-Agent format in the REST catalog spec.
>>
>> What a +1 endorses:
>> - Clients identify themselves with the standard HTTP User-Agent header
>> (RFC 7231): whitespace-separated product/version tokens, most specific
>> first (engine, then any integration or connector, then the Iceberg
>> library, then the runtime), with an optional parenthesized comment for
>> extra context. Example:
>>
>> Spark/4.0.0 iceberg-spark/1.9.0 iceberg-java/1.9.0 (scala 2.13.16)
>>
>> - When the header is sent, the Iceberg library token (iceberg-java,
>> pyiceberg, iceberg-rust, iceberg-go) must be present.
>> - The header is advisory. Servers must not reject a request just because
>> it is missing or malformed, and must not use it for authentication.
>> Servers may refuse operations from client versions known to be unsafe.
>> It is not a capability negotiation mechanism.
>>
>> The spec change is in PR [2]. If the vote passes, the follow-ups are
>> conforming the client libraries (java, python, rust, go) to emit this
>> format.
>>
>>
>> [ ] +1 Adopt this User-Agent format in the REST spec
>> [ ] 0
>> [ ] -1 Do not adopt (please explain)
>>
>> Thanks,
>> Rahul
>>
>> [1] https://lists.apache.org/thread/d6hkx66o8qc1lolh11l1lmswxlq0bpj9
>> [2] https://github.com/apache/iceberg/pull/17727
>>
>
Re: [VOTE] Recommend a standard User-Agent format for REST clients
Posted by Andrei Tserakhau via dev <de...@iceberg.apache.org>.
+1 non-binding
ср, 23 сент. 2026 г., 23:20 rahul mahadev <ra...@gmail.com>:
> Hi all,
>
> Following the discussion thread [1], I'd like to call a vote on
> standardizing the client User-Agent format in the REST catalog spec.
>
> What a +1 endorses:
> - Clients identify themselves with the standard HTTP User-Agent header
> (RFC 7231): whitespace-separated product/version tokens, most specific
> first (engine, then any integration or connector, then the Iceberg
> library, then the runtime), with an optional parenthesized comment for
> extra context. Example:
>
> Spark/4.0.0 iceberg-spark/1.9.0 iceberg-java/1.9.0 (scala 2.13.16)
>
> - When the header is sent, the Iceberg library token (iceberg-java,
> pyiceberg, iceberg-rust, iceberg-go) must be present.
> - The header is advisory. Servers must not reject a request just because
> it is missing or malformed, and must not use it for authentication.
> Servers may refuse operations from client versions known to be unsafe.
> It is not a capability negotiation mechanism.
>
> The spec change is in PR [2]. If the vote passes, the follow-ups are
> conforming the client libraries (java, python, rust, go) to emit this
> format.
>
>
> [ ] +1 Adopt this User-Agent format in the REST spec
> [ ] 0
> [ ] -1 Do not adopt (please explain)
>
> Thanks,
> Rahul
>
> [1] https://lists.apache.org/thread/d6hkx66o8qc1lolh11l1lmswxlq0bpj9
> [2] https://github.com/apache/iceberg/pull/17727
>