[calsify] JSContact and Versioning

Robert Stepanek <rsto@fastmailteam.com> Wed, 07 December 2022 10:43 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 8CD8FC14F723 for <calsify@ietfa.amsl.com>; Wed, 7 Dec 2022 02:43:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.797
X-Spam-Level:
X-Spam-Status: No, score=-2.797 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_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, 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=fastmailteam.com header.b=PgZjQd09; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=BBi+PTIg
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 Bvly53OHRC_n for <calsify@ietfa.amsl.com>; Wed, 7 Dec 2022 02:43:03 -0800 (PST)
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1FAE9C14F73A for <calsify@ietf.org>; Wed, 7 Dec 2022 02:43:02 -0800 (PST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 0E1975C0121 for <calsify@ietf.org>; Wed, 7 Dec 2022 05:43:02 -0500 (EST)
Received: from imap43 ([10.202.2.93]) by compute3.internal (MEProxy); Wed, 07 Dec 2022 05:43:02 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:sender:subject :subject:to:to; s=fm2; t=1670409782; x=1670496182; bh=nuXl8d0E9d ryXCJl4hLvUPCIpaERdYXX6qWGlcOHxws=; b=PgZjQd09jy3cFDHSD//3Ki2sqL dKYjs0O0yLNBMyjpWShuT9S2vnn2KPnIWGm7WSPcneLUtXX2a+uybh+qEtWIIRvb amwo6+3tXOuG4vsOAXQJPojSOt0UM6efFW46IDLq4Y1rUfgQazL/AJlplCklT2Ot +pNNZFJp2IUMvCNtr3h+i8VSfdg7nP1Y8FG12BdBKyPoHmTw15X2PP/7KayAPbzd pxaR7aSkn9S4mMds1+o2MDOdpqtOoiG9hOn0ZuHlMHORENrJ4C/EUUhZdm/5UrfS 69MGtdm5LgBrtlf0cHLf8uv1DQ4E0YXIz8gu2e++fWuuXJsyBGYtAUQuV2aQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:message-id:mime-version :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1670409782; x= 1670496182; bh=nuXl8d0E9dryXCJl4hLvUPCIpaERdYXX6qWGlcOHxws=; b=B Bi+PTIg8WM+o4SgP6TRZNG8R7WnLoQ4FUFjH3ZjAeS7hHrNwfamNwaJ4jUIvsyad eUjZoi8l0ZVXbwDFoIcDeM9T0PBbOOjN3doO6RBRBQibT2xntQ8grII0WQPcnfMn tVJCwKAyOHFN70UYoQuwHkU1xqiO/ruZTxQfZ3GrSix9B3mqjoxkrAzy+jkchVLA AT7tTe8csdUbfBbekISeVhZIyIgnkvAb/pqyvVoWDhwf/PVM4LQ01SqYiv2aXUaE zZeZLMHXz/+j7Gm0Xh7cH7HiVYLi6PlDyc9e6K94UU5sgiTWsvbepLkOJkEyAQKO Ox4E0SHSsSffs1LPtyOxQ==
X-ME-Sender: <xms:NW6QY64WcXZsASjAWHMcqNXm8rqB59lP_eQWv0jC7eC4OMoBoU012A> <xme:NW6QYz4Y5RwWlPFINHwzburBD0-UjisB1gM22qijYeEspm6E5kBYCOPTod21jB2Cx EdmqMORCHQ0zQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudekgddukecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkfffhvffutgesrgdtreerre ertdenucfhrhhomhepfdftohgsvghrthcuufhtvghprghnvghkfdcuoehrshhtohesfhgr shhtmhgrihhlthgvrghmrdgtohhmqeenucggtffrrghtthgvrhhnpeegieekheekheehhf dtheevvdfhgffhteduleejtefftdekueelueefveefvdeiudenucevlhhushhtvghrufhi iigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehrshhtohesfhgrshhtmhgrihhlth gvrghmrdgtohhm
X-ME-Proxy: <xmx:NW6QY5de2zVudMlVID43Ot1q2ayGBpS7JZgCeZ6yUQBJrOgVXwp-8Q> <xmx:NW6QY3Jcem9vBR-EOYkxYbmDmb-zshp8V4i68wzqRfQp7g8XmUYsVA> <xmx:NW6QY-KMg7dffcY_UsM11AbHytVOThF4w28wrirhW-RfCpCEmwoCvw> <xmx:Nm6QYzVpIGevse3JpU0u5CRuFhoBD_lfH4ndlhyyq4YAz3ZatXo7og>
Feedback-ID: ia5d944da:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id D4F0A2D40074; Wed, 7 Dec 2022 05:43:01 -0500 (EST)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.7.0-alpha0-1158-g19f654eac0-fm-20221129.001-g19f654ea
Mime-Version: 1.0
Message-Id: <6bf85925-2b9d-4be0-825a-e9e2284b722a@app.fastmail.com>
Date: Wed, 07 Dec 2022 11:42:41 +0100
From: Robert Stepanek <rsto@fastmailteam.com>
To: calsify@ietf.org
Content-Type: multipart/alternative; boundary="85f480c005a74bff93fdb7a131bcae90"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/S3Ex1opbBnhSDZaAjSIC7E4Xa_Y>
Subject: [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: Wed, 07 Dec 2022 10:43:08 -0000

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