[regext] Re: RDAP versioning - on client-server interactions and 2-RTT flow
Mario Loffredo <mario.loffredo@iit.cnr.it> Sat, 23 November 2024 13:03 UTC
Return-Path: <mario.loffredo@iit.cnr.it>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 92598C180B6D for <regext@ietfa.amsl.com>; Sat, 23 Nov 2024 05:03:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level:
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=iit.cnr.it
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bn6bUd_U3AaC for <regext@ietfa.amsl.com>; Sat, 23 Nov 2024 05:03:10 -0800 (PST)
Received: from mx5.iit.cnr.it (mx5.iit.cnr.it [146.48.58.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0A51BC169414 for <regext@ietf.org>; Sat, 23 Nov 2024 05:03:09 -0800 (PST)
DKIM-Filter: OpenDKIM Filter v2.11.0 mx5.iit.cnr.it 804DCC06DC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iit.cnr.it; s=mx520231221; t=1732366986; bh=PCH6d5XiBMZ1FGuOf00ubEWOjvLUvnNx9KFeeW+ChqM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=JHjyaP41PUGJcvzwdHzo/xxsQXKNtPB0MRpO4vk5T9lg8pS0rmv17gU3M5KSeJ7Lu YGl/nieZux89O57lgfvMRYO53uCEQhDT9Z2Njl+waQnUaN9rIgfcONrkZ5RE0Fb2Gl 5jFdfLTCiM1Vv7LmvokZ2UcasJHkM/t6TVxe+NZrzezBQ5tK0YjCDkvtd8a1fK5Vux TrmEReF6dQ7f3z7e+W6FVT4z+2z5UZL5l49K7wb1Kq/Ox5gYp+MFRjPdGcsM7gpgwD Tp4j+E8E/iYSNwXTOWzNX6U6oGW4ZKwAke7+YsXUrIDhoEVPUubBN0P6QfYYq6jTsF 9H5VUQDooWXDg==
Received: from localhost (localhost [127.0.0.1]) by mx5.iit.cnr.it (Postfix) with ESMTP id 804DCC06DC; Sat, 23 Nov 2024 14:03:06 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at mx5.iit.cnr.it
Received: from mx5.iit.cnr.it ([127.0.0.1]) by localhost (mx5.iit.cnr.it [127.0.0.1]) (amavisd-new, port 10028) with ESMTP id TWA8k8DzskJP; Sat, 23 Nov 2024 14:03:06 +0100 (CET)
X-Relay-Autenticated: yes
Content-Type: multipart/alternative; boundary="------------B9b0dVcOBTk6rBwg1hWInfnA"
Message-ID: <38d4f728-44f3-49bb-b52f-037a806c2d68@iit.cnr.it>
Date: Sat, 23 Nov 2024 13:57:21 +0100
Mime-Version: 1.0
Content-Language: it
To: "Andrew Newton (andy)" <andy@hxr.us>
References: <10ba3faa-8bf7-4202-81bf-e2c99473c3db@denic.de> <10BE3B85-4538-49C5-AB98-4EDDCDCF2B5F@verisign.com> <a872a3d3-ca80-4fbc-b747-b3738e857dae@denic.de> <F6BD2F41-C0E6-4892-B9DA-920A62A46CC5@verisign.com> <7fc24d8e-f845-4e62-b164-cf6dcaa39915@denic.de> <02044771-6C63-466D-88F4-FD08B270F4F3@verisign.com> <beb2763a-97ea-4e71-b144-45c5a3501042@denic.de> <EFD94C63-7AA1-400A-9A38-F7696409686A@verisign.com> <ba62eea0-6861-4b7b-9d5b-75ae4fae571c@iit.cnr.it> <CAAQiQRf+erCuYquLN25nAEcExe1CqEyhhF8pTX-SvVM-5TnYsw@mail.gmail.com>
From: Mario Loffredo <mario.loffredo@iit.cnr.it>
In-Reply-To: <CAAQiQRf+erCuYquLN25nAEcExe1CqEyhhF8pTX-SvVM-5TnYsw@mail.gmail.com>
Message-ID-Hash: AEVWI6M2UZ3KPQMOTWK4REWFP33AD64X
X-Message-ID-Hash: AEVWI6M2UZ3KPQMOTWK4REWFP33AD64X
X-MailFrom: mario.loffredo@iit.cnr.it
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-regext.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "Gould, James" <jgould@verisign.com>, "regext@ietf.org" <regext@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [regext] Re: RDAP versioning - on client-server interactions and 2-RTT flow
List-Id: Registration Protocols Extensions Working Group <regext.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/A-ANqJjIcFQ-yKmpO5g8ci1JAQ8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Owner: <mailto:regext-owner@ietf.org>
List-Post: <mailto:regext@ietf.org>
List-Subscribe: <mailto:regext-join@ietf.org>
List-Unsubscribe: <mailto:regext-leave@ietf.org>
Hi Andy, see my responses below. Il 22/11/2024 21:08, Andrew Newton (andy) ha scritto: > below... > > On Fri, Nov 22, 2024 at 5:00 AM Mario Loffredo > <mario.loffredo=40iit.cnr.it@dmarc.ietf.org> wrote: >> Can you please elaborate on which use case corresponds to support a default version that is six versions back to the next version and no version in between ? >> >> Honestly, can't imagine any practical case like the one you described. >> >> One coming in my mind is that all the versions between 0.4 to 0.9 could be related to additive changes and the server is able to support all of them. >> >> Instead, it seems more likely to me the scenario where the client requests for an extension version not yet supported by the server but supported elsewhere (e.g the client requests for version 0.9, but the higher version supported is 0.8). > How does this work? If my client requests 0.9 where the JSON > "foo":"bar" is mandatory but gets back 0.8 where "foo" was never > defined, wouldn't that cause an error? Is the assumption that a client > will be programmed to handle both? If so, I don't see that happening. > I also think it is unlikely that RDAP server operators will support > multiple versions of an extension in production. [ML] In making that example, I was influenced by the definition of major and minor versions given by Semantic Vertsioning (semver.org) /Given a version number MAJOR.MINOR.PATCH, increment the:/ 1. /MAJOR version when you make incompatible API changes/ 2. /MINOR version when you add functionality in a backward compatible manner/ 3. /PATCH version when you make backward compatible bug fixes/ Based on it, the increase of the minor version is related to an additive (i.e. non breaking) change while the increase of a major versions is related to a breaking change (just like adding a mandatory property) with a consequent server implementation of a transition process . Since additive changes don't require the server to manage a transition process, multiple versions each one related to an additive change can be supported at the same time even on the live platform. The chain of backward compatible changes gets broken when a breaking change occurs. In that case, the transtion process should be managed on both test and live environments. Clients can decide any time on their own to switch from a major version to another major version with regard to the interaction with a given server. However, since servers might implement the same transition process but at different times, they should be ready to manage both the versions until all of the servers they deal with have completed the transition. On the other side, servers are expected to support both major versions for e period to let clients easily manage the transition and avoid breaks as much as possible. It may happen that servers extend the deprecation period based on the evidence that many clients still don't handle the new version. > I note that you use the words "additive changes" but the draft says > "new interface changes" (section 4.2). There probably needs to be some > language about what interface changes constitute a major bump vs a > minor bump. [ML] I agree with you that it should be clarified. > Earlier in this thread there was a discussion about versioning > schemes. I don't know where it landed, but there are many more types > of versioning schemes than semver. A lot of software is going to dates > like "2024-05". From a CI/CD perspective, a sequence number or > increasing number scheme is more suitable. I'll also note that at > present there appears to be only one extension ever to have multiple > versions: the ICANN gTLD profile. However, it uses opaque versioning > in the identifier, its documents use major.minor but not necessarily > semver as elements required in early versions are optional in the > latest, and the versions are referred to by their year of ratification > (2019 vs 2024). Food for thought. I prefer semantic versioning because it conveys the nature of changes between versions. In addition, the versioning_help member already includes the information about version start and end time. Best, Mario > > -andy -- Dott. Mario Loffredo Senior Technologist Technological Unit “Digital Innovation” Institute of Informatics and Telematics (IIT) National Research Council (CNR) Address: Via G. Moruzzi 1, I-56124 PISA, Italy Phone: +39.0503153497 Web:http://www.iit.cnr.it/mario.loffredo
- [regext] Re: RDAP versioning - on client-server i… Gould, James
- [regext] RDAP versioning - on client-server inter… Pawel Kowalik
- [regext] Re: RDAP versioning - on client-server i… kowalik@denic.de
- [regext] Re: RDAP versioning - on client-server i… Gould, James
- [regext] Re: RDAP versioning - on client-server i… kowalik@denic.de
- [regext] Re: RDAP versioning - on client-server i… Gould, James
- [regext] Re: RDAP versioning - on client-server i… kowalik@denic.de
- [regext] Re: RDAP versioning - on client-server i… Gould, James
- [regext] Re: RDAP versioning - on client-server i… Mario Loffredo
- [regext] Re: RDAP versioning - on client-server i… Andrew Newton (andy)
- [regext] Re: RDAP versioning - on client-server i… Mario Loffredo
- [regext] Re: RDAP versioning - on client-server i… kowalik@denic.de
- [regext] Re: RDAP versioning - on client-server i… Mario Loffredo
- [regext] Re: RDAP versioning - on client-server i… kowalik@denic.de