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
>