Pawel, 

I want to understand what you're defining as a non-backward compatible change 
in RDAP, since most of the members returned are optional and the protocol 
requires ignoring unrecognized members, which differs from a provisioning 
protocol.  Removing of a member should not break the client and renaming a 
member should similarly not break the client.  Changing of the extension 
identifier could break the client if they need the extension using the old 
extension identifier.  There is no way to foresee what will break a particular 
RDAP client.  The best that the protocol can do is to provide support for the 
version information and to enable the client to discover and to indicate what 
extension version is desired.  As pointed out previously, any RDAP extension 
that choses to use the point versioning type should include a normative 
reference to the versioning extension.  A client and server adding support for 
a point versioning extension needs to also add support for the versioning 
extension.  We can add language to the draft to reflect that requirement.  A 
similar case would be made if an extension decided to use another versioning 
type defined by the versioning extension (e.g., extension identifier versioning 
that Scott brought up; although no official name has been given), with the 
exception of the opaque versioning that is there for backward compatibility and 
as an option for those that chose that type going forward.  We may want to add 
relationships in the versioning extension for opaque version extensions to 
provide the visibility of changes, such as stating that "example1" is a 
successor of "example0" and that "example0" is a predecessor of "example1".  
Would this he helpful?   

In summary, the onboarding support of the versioning extension should be 
handled by the normative reference from new RDAP extensions that choose to use 
a type other than opaque versioning, so there should be no non-supporting 
clients of a point versioning RDAP extension.

Thanks, 

-- 

JG 



James Gould
Fellow Engineer
[email protected] 
<applewebdata://13890C55-AAE8-4BF3-A6CE-B4BA42740803/[email protected]>

703-948-3271
12061 Bluemont Way
Reston, VA 20190

Verisign.com <http://verisigninc.com/> 




On 6/11/26, 8:06 AM, "Pawel Kowalik" <[email protected] 
<mailto:[email protected]>> wrote:


Hi Jim,


the question is about a scenario:
- existing extension in version 1 in production, no versioning deployed 
because not yet specified (applied to any of existing extensions to date)
- the extension upgrades to version 2, which is not back-compatible with 
1, assuming extension identifier does not change as you propose and argument


How would this scenario work for
a) a client which implements versioning draft vs. client which does not
b) a server which implements versioning draft vs. client which does not


It's a simple matrix 2x2.


You may add additional example of the same if version 2 has a hard 
requirement for implementers to also implement versioning.


Kind Regards,
Pawel


On 11.06.26 13:45, Gould, James wrote:
> Andy,
>
> Inclusion of some query/response examples for supporting and non-supporting 
> clients are reflected in the following draft-ietf-regext-rdap-versioning 
> figures:
>
> 1. Non-supporting - Figure 8: RDAP Domain Lookup Response with No Client 
> Specified Versioning
> 2. Supporting - Figure 9: RDAP Domain Lookup Response with "point_ext1-0.1" 
> Extension Version
> 3. Supporting - Figure 10: RDAP Domain Lookup Response with "point_ext1-0.1" 
> and "opaque_ext2" Extension Versions
>
> The only indication for the server whether the client is non-supporting or 
> supporting is based on the inclusion of the Extension Versioning Request in 
> Section 3.2. From an implementation perspective, a client will receive the 
> "versioning_data" member that can be used by the supporting client to 
> understand the extension versions included in the response and can be used 
> for troubleshooting by a non-supporting client. The "versioning_data" member 
> is in addition to the "rdapComformance" member and can be easily mapped based 
> on indexing by the extension identifier.
>
> Since we have no experience with an extension transition in RDAP, we can look 
> to the experience with an extension transition in EPP, which has been done 
> many times. In EPP, our implementation was to return a default version based 
> on the latest supported version of an extension. If a client does not support 
> the latest supported version, based on the login services, the server returns 
> the earlier supported version of the extension. For RDAP, the server can 
> return the latest supported version of the extension and allow for the client 
> to specify an earlier version of an extension using the Extension Versioning 
> Request (query parameter or media type parameter) in Section 3.2 of 
> draft-ietf-regext-rdap-versioning. The /help can also be used for automatic 
> discovery of the extension versioning or manually for troubleshooting issues. 
> The discovery can be done infrequently (e.g., daily), since the RDAP servers 
> don't change their extension versions very often.
>
> I hope this helps.
>
> Thanks,
>



_______________________________________________
regext mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to