Re: [calsify] JSContact and Versioning

Robert Stepanek <rsto@fastmailteam.com> Mon, 08 January 2024 08:06 UTC

Return-Path: <rsto@fastmailteam.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 72A76C14F60F for <calsify@ietfa.amsl.com>; Mon, 8 Jan 2024 00:06:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.805
X-Spam-Level:
X-Spam-Status: No, score=-2.805 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=fastmailteam.com header.b="YY4RXCoD"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="OL+wtp0t"
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 v2-ViU51r0FL for <calsify@ietfa.amsl.com>; Mon, 8 Jan 2024 00:06:22 -0800 (PST)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ACCC3C14F60E for <calsify@ietf.org>; Mon, 8 Jan 2024 00:06:22 -0800 (PST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 503A85C1543; Mon, 8 Jan 2024 03:06:18 -0500 (EST)
Received: from imap43 ([10.202.2.93]) by compute5.internal (MEProxy); Mon, 08 Jan 2024 03:06:18 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc:content-type:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm3; t=1704701178; x= 1704787578; bh=7x7JvjZjdrDtDFT/5c+hGY7iqIXyWTGZKOSoUHgLdJM=; b=Y Y4RXCoDhl9D/myaiaU+JMb/u1uikcYm1v52lmPYLqo/Iwfg4/IXwZzYop8zHcr4d 10sPUv0SSPgDu+O4Q+N/lvpypJi9JvO7SlnSysIxJ/e1Tby6b4qVAGPKIQWO1uul stk+rHb8Q+1sJltVLui/w4YbMhI8LRNKnh4MvRj33fwWWRGGAnLGFW+Tr2D086ee CJ7NU+oDKdjAemn5XCM9vD47St7lwTRTOgFcW+aNfMqPY3r8Cqo2znT+8/gyUTAV lQhLoPiSkTKwPxo6BTT39/pafWS4o/UafV+FiLVREvOc/z/A2xgVt1Z3sNVZN+K9 cFm9XviDAr1yghOSrHAdw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1704701178; x=1704787578; bh=7x7JvjZjdrDtDFT/5c+hGY7iqIXy WTGZKOSoUHgLdJM=; b=OL+wtp0tMZvHrnlUX/GFBXzwiyV3bP9E+eZt5f16Vq1L 37gTymswqu9WspanEFAOJIq19MpkOe2DM775Vc6AzWQtKvfKax9UX7moIw6WjxF1 jvX4J9RJNOhJW30utUZ1tmmj2kgdQYUzjBIaEPgwNd8xlJrjoq7wWeoRx13IBy39 bbOqAm3s8wWtwUEYvXnGwePAiRDkcoGe/TDLDcEa1HbIk9ucU04K4bnriteZUZ2y oIR0FG1PLCAK8LLFar9uodePRJaJRE/TwUnIkZmrwrFYvUyRmfaUMg2tPg0raOi/ H/Zs5nXsxY902etM9TN0G2AmCPaBtro/7kNqmQ8VvA==
X-ME-Sender: <xms:-qybZSXnHANflcG9X4Q7m77aRFm6G0egpr8ZX75NNW_VwPlJX-yg6A> <xme:-qybZenEC79pvLdJgAbxDm0-nxGCPJATwbvxhOwMVMi9dNxfVuJ7BCI2dRciHfbXL Db7NwRxADmMEg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdehiedghedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvffutgesrgdtreerreertdenucfhrhhomhepfdftohgs vghrthcuufhtvghprghnvghkfdcuoehrshhtohesfhgrshhtmhgrihhlthgvrghmrdgtoh hmqeenucggtffrrghtthgvrhhnpeethfffffekueekveelleeglefhgeefjeeugeetkeej kefgtdfhheehvdehhedvhfenucffohhmrghinhepihgvthhfrdhorhhgnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprhhsthhosehfrghsthhm rghilhhtvggrmhdrtghomh
X-ME-Proxy: <xmx:-qybZWaFGHfFsKQUOcZRXVbI4K0g0hMyrMh03Nd2Il2BuAPigjMnKA> <xmx:-qybZZXcNXBTw89kF2u2Ze-YBZ-icy_Nf5GLFqgw6CC4iVXjOKdP7A> <xmx:-qybZcmNvPbJKardMDJDZeKp9yDkokGDSviaQW5YBEUywV2rUTn7oA> <xmx:-qybZeRLQoxRPj7-oiRsgHPOGnfyKQtZuiyBxagXVDTr2zoHblWd0w>
Feedback-ID: ia5d944da:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 01C4E2D4007D; Mon, 8 Jan 2024 03:06:18 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.9.0-alpha0-1364-ga51d5fd3b7-fm-20231219.001-ga51d5fd3
MIME-Version: 1.0
Message-Id: <7637a18c-eaa1-4ce1-884a-0f54dbd9d1c1@app.fastmail.com>
In-Reply-To: <09b1dbae-86fb-4465-be26-954ad5eb5176@gmail.com>
References: <6bf85925-2b9d-4be0-825a-e9e2284b722a@app.fastmail.com> <09b1dbae-86fb-4465-be26-954ad5eb5176@gmail.com>
Date: Mon, 08 Jan 2024 09:05:57 +0100
From: Robert Stepanek <rsto@fastmailteam.com>
To: Michael Douglass <mikeadouglass@gmail.com>, calsify@ietf.org
Content-Type: multipart/alternative; boundary="2374f324aff34e508e052975d0315f0b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/oof0vLtlgb8hUBB_8CvtbphvEoU>
Subject: Re: [calsify] JSContact and Versioning
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Calendaring and Scheduling Standards Simplification <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Jan 2024 08:06:27 -0000

Did you read the final JSContact draft? It already addresses your concerns:

https://www.ietf.org/archive/id/draft-ietf-calext-jscontact-16.html#name-creation-of-the-jscontact-v
https://www.ietf.org/archive/id/draft-ietf-calext-jscontact-16.html#name-registry-policy-and-change-

On Sun, Jan 7, 2024, at 8:22 PM, Michael Douglass wrote:
> A bit late in the day again...
> 
> I think we should mandate at least an official versioning scheme rather than just a simple incrementation.
> 
> As developers we already have a example of how that might work e.g. <major>.<minor>.<patch>.<extension>*
> 
> Without specifying exactly what triggers a change in those numbers (or any other scheme) - we're going to have to assume the worst at each change.
> 
> I would suggest something like - 
> 
> 1. An non-backward compatible change requires incrementing <major>. e.g. we remove a property and replace it with a differently named property, or we change the specification of a property enough that it would break implementations.
> 
> 2 Update minor when properties are added (and possibly removed) and ignoring the added property does not result in an invalid object
> 
> 3. Update patch when?
> 
> I was going to suggest that just <major> could be valid as could be <major>.<minor>. However that can led to some weird contortions.
> 
> <extension>* is a suggestion to get around some of the odd versioning in maven - it would allow a suffix to be added to indicate the version of proprietary extensions
> 
> I guess it's clear that a monotonically increasing version is a must.
> 
> I think this means that i think the last point needs to be changed. It's not up to those registering to bump the value(s) but it should be made a requirement of any review - otherwise - what encourages developers/software to check for changes?
> 
> Maybe the 3rd value could be bumped when a new property is added and the minor value updated after it goes through expert review
> 
> 
> 
> On 12/7/22 05:42, Robert Stepanek wrote:
>> We would like to revisit versioning in JSContact and would appreciate your feedback before end of WGLC. Specifically, we plan to change the currently proposed version scheme such that:
>>  • Rather than using the RFC number as a version, we propose to use version strings that are independent from the RFC numbering scheme. We define the initial JSContact version to be "1", but we also explicitly state that for now the only thing implementations can rely on is that future version values lexicographically sort after former ones. In a future JSContact RFC we might introduce a more sophisticated version scheme.
>>  • We replace the current "Version" field in the IANA registration templates with "Minimum Version" and "Maximum Version", such that the IANA registry is enough to identify which properties or values are supported in which versions. They can then follow the according RFC references in the same registry.
>> 
>> Also, we'll slightly rephrase the RFC document section about versioning. The following bullets paraphrase what we intend to define. Most of this already is in the current document, but it might be simpler to review here as a whole:
>>  • Version changes may add new property and value definitions that are so significant that implementations should be made aware of their presence by only inspecting the version value. This can be useful for protocols to allow clients or servers to advertise which JSContact version they are able to process, or to select one of multiple MIME body parts with JSContact data by version.
>>  • Version changes may obsolete or update existing property and value definitions such that they are incompatible with their definitions of earlier versions. This should always be the last tool in the box, but introducing versions now hopefully allows us to handle these situations in the future.
>>  • Version changes always require a RFC that defines the impact on future JSContact version.
>>  • Not every new property or value definition that gets registered at IANA requires to change the version. The majority of changes should not, because we want to encourage people to register their JSContact additions. Since our IANA-registration policy is Expert Review, it's always up to the discretion of the designated experts if the proposed additions require a RFC document or JSContact version bump.
>> 
>> Cheers,
>> Robert
>> 
>> _______________________________________________
>> calsify mailing list
>> calsify@ietf.org
>> https://www.ietf.org/mailman/listinfo/calsify
>> 
> _______________________________________________
> calsify mailing list
> calsify@ietf.org
> https://www.ietf.org/mailman/listinfo/calsify
>